-2

(剧本)

#!/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 上运行它时,我会收到一个错误说明

“在 C:\users\john\desktop\console2\test.pl 第 5 行通过包“ LINE ”定位对象方法“_” (也许您忘记加载“ LINE ”?)。

任何有关如何解决此问题的想法将不胜感激。谢谢!

4

2 回答 2

2

__FILE__文字和__LINE__(或__END__)中没有空格。一行中只有 2 个下划线,单词和另外 2 个下划线。

于 2015-06-14T05:42:03.280 回答
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__有时很有用的指令。)

于 2015-06-14T05:44:20.617 回答