Perl的错误信息"你需要predeclare说什么?"

为了使串到屏幕在Perl编程语言都有一个内置 功能 print. 但除此之外 print 和仍然有 say.

使用 say 中的脚本

如果你只是尝试使用 say 在Perl脚本,它将错误。 这里有一个例子,剧本的错误:

▶ Run
#!/usr/bin/perl

say 'Hello';

如果你拯救这个代码文件 script.pl 和执行 perl script.pl、屏幕上出现的错误:

String found where operator expected at script.pl line 3, near "say 'Hello'"
    (Do you need to predeclare say?)
syntax error at script.pl line 3, near "say 'Hello'"
Execution of script.pl aborted due to compilation errors.

为了仍然利用的 say 你应该明白地说,我们想到使用这种特征的语言 使用 use feature qw(say);. 这里是全文脚本工作:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say 'Hello';

结果剧本—屏幕上出现的文本 Hello.

使用 say 在odnotrahniki

有些任务是非常方便地解决使用Perl odnotrahniki当整个文本的程序不在该文件 和通过了参数值 -e 月的命令行。

但如果你只是运行 perl -e 'say "Hello"'、屏幕上出现的错误:

String found where operator expected at -e line 1, near "say "Hello""
    (Do you need to predeclare say?)
syntax error at -e line 1, near "say "Hello""
Execution of -e aborted due to compilation errors.

为了使用 say 在odnotrahniki可以使用相同方法作为脚本:编写 在命令提 perl -e 'use feature qw(say); say "Hello"'.

但它是更便于使用的参数 -E-e. 选项 -E 包括所有特性的语言,因此启动 perl -E 'say "Hello"' 显示的预期线 Hello.

其他文章