Perl:还有更多可以在评论中使用的指令吗?

时间:2014-03-24 18:41:23

标签: perl pragma

AFAIK,您可以在注释中使用以下指令来设置行号:

#!/usr/bin/perl
# line 42000
die "Debug me if you can!";

将产生:

Debug me if you can! at script.pl line 42000.

在Perl中是否有更多类似的指令,以'#'开头?

3 个答案:

答案 0 :(得分:3)

perldoc的以下部分讨论了:perlsyn - Plain Old Comments (Not!)

  

Perl可以处理行指令,就像C预处理器一样。使用它,可以控制Perl对错误或警告消息中的文件名和行号的想法(特别是对于使用eval()处理的字符串)。此机制的语法与大多数C预处理器的语法几乎相同:它与正则表达式匹配。   ...

您可以更改错误和警告消息的行号和文件名,而不是其他内容:# line 42 "new_filename.plx"'

答案 1 :(得分:2)

shebang行由Perl解释器解析,即使在像Windows这样不尊重shebang行的系统上也是如此。 Perl将识别任何命令行开关(-M除外)。例子:

#!/usr/bin/perl -w                  enable warnings
#!/usr/bin/perl -T                  enable taint mode
#!/usr/bin/perl -Ifoo -Ifoo/lib     add directories to @INC
#!/usr/bin/perl -F -n               wrap the script in  while(<>){@F=split; ...}

答案 2 :(得分:2)

也许您想看看Smart::Comments