Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上为批量包装的Perl脚本输出正确的行号?_Perl - Fatal编程技术网

在Windows上为批量包装的Perl脚本输出正确的行号?

在Windows上为批量包装的Perl脚本输出正确的行号?,perl,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

是否有任何说明符告诉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 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嵌入批处理脚本中。这就是你想要实现的目标吗?可能与: