题
Perl 中是否可以获取当前源代码行号?C++ 中的等价物是 __LINE__
.
解决方案
print "File: ", __FILE__, " Line: ", __LINE__, "\n";
或
warn("foo");
其他提示
__LINE__ 文字记录在 特殊文字 的部分 perldata 手册页.
请注意有一个疑难杂症
的perl -e'warn( “富”)'
FOO在-e线1。
如果它以新行结束它的不会打印的行号
的perl -e'warn( “富\ n”)'
FOO
这是记录在“的perldoc -f死”,但也许是容易在错过“的perldoc -f警告”部分的参考死...
此打印出你所在的线,并且还“堆栈”
(来自呼叫程序,导致你现在位置(脚本/模块/等)的行列表)while(my @where=caller($frame++)) { print "$frame:" . join(",",@where) . "\n"; }
“用鲤鱼”,并与各种套路玩,你也可以得到一个堆栈 - 不知道这样是不是由南山集团提出的“来电显示”方法好还是坏。我已经使用在C和Perl中LINE和文件变量(也可能是其他类似的变量),以显示其中I中的代码和其它信息得到了当调试但已经看到了调试环境之外的小值。
不隶属于 StackOverflow