AFAIK,您可以在注释中使用以下指令来设置行号:
#!/usr/bin/perl
# line 42000
die "Debug me if you can!";
将产生:
Debug me if you can! at script.pl line 42000.
在Perl中是否有更多类似的指令,以'#'开头?
答案 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。