(剧本)
#!/usr/bin/perl
# Program, named literals.perl
写入测试特殊文字
1 print "We are on line number ", _ _LINE_ _, ".\n";
2 print "The name of this file is ",_ _FILE_ _,".\n";
3 _ _END_ _
这些东西只是一堆喋喋不休的喋喋不休
被Perl忽略了。 _ _END_ _ literal
与Ctrl–d
或\004.[a]
(输出)
1我们在第3行。
2此文件的名称为literals.perl。
解释
如果要解释特殊文字_ _LINE_ _
,则不能用引号括起来。它保存Perl脚本的当前行号。
此脚本的名称为 literals.perl 。特殊文字_ _FILE_ _
包含当前Perl脚本的名称。
特殊文字_ _END_ _
表示脚本的逻辑结尾。它告诉Perl忽略跟随它的任何字符。
print "The script is called", _ _FILE_ _, "and we are on line number ",
_ _LINE_ _,"\n";
(输出)
该脚本名为./testing.plx,我们在第2行
我需要帮助让这个例子起作用。我在运行它时遇到了一些麻烦。当我在console2上运行它时,我会收到一个错误,说明这个
“无法通过包” LINE “找到对象方法”_“(也许你 忘了在C:\ users \ john \ desktop \ console2 \ test.pl中加载“ LINE ”?) 第5行。
关于如何解决这个问题的任何想法都将非常感激。谢谢!
答案 0 :(得分:2)
文字__FILE__
和__LINE__
(或__END__
)中没有空格。只有2个下划线,单词和另外2个下划线。
答案 1 :(得分:2)
您需要在下划线之间使用不带空格的名称:
#!/usr/bin/env perl
use strict;
use warnings;
print "We are on line number ", __LINE__, ".\n";
print "The name of this file is ", __FILE__, ".\n";
__END__
print "This is not part of the script\n";
保存在fileline.pl
并运行时,会产生:
We are on line number 5.
The name of this file is fileline.pl.
请注意,连续下划线之间没有空格。请注意,包含print
语句的最后一行不是脚本的一部分,因为它位于__END__
之后。 (还有一个__DATA__
指令有时可能有用。)