在 Windows 上批量输出 Perl 脚本的正确行号?
Output correct line number for Perl script wrapped in batch on Windows?
是否有任何说明符告诉 Perl 解释器真正的 Perl 脚本从某行开始,然后输出将具有来自解释器的正确行号,如解释错误消息?例如,下面脚本中的行号信息不正确。
@perl -x "%~f0" %*
@exit /b %errorlevel%
#!perl
use strict;
printxxx "Perl Script\n"; # interpreter will output error for this line with **incorrect line number**
您可以使用 line directive,它是一种特殊形式的注释,看起来像 # line 99
,并指示 perl 将分配给下一行的行号。
例如
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
STDOUT->autoflush;
# line 100
say "line ". __LINE__;
die;
输出
line 100
Died at E:\Perl\source\line.pl line 101.
也可以在行号后添加文件名,这同样指示 perl 将报告的源文件名。
是否有任何说明符告诉 Perl 解释器真正的 Perl 脚本从某行开始,然后输出将具有来自解释器的正确行号,如解释错误消息?例如,下面脚本中的行号信息不正确。
@perl -x "%~f0" %*
@exit /b %errorlevel%
#!perl
use strict;
printxxx "Perl Script\n"; # interpreter will output error for this line with **incorrect line number**
您可以使用 line directive,它是一种特殊形式的注释,看起来像 # line 99
,并指示 perl 将分配给下一行的行号。
例如
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
STDOUT->autoflush;
# line 100
say "line ". __LINE__;
die;
输出
line 100
Died at E:\Perl\source\line.pl line 101.
也可以在行号后添加文件名,这同样指示 perl 将报告的源文件名。