Perl で現在のソース行番号を取得することは可能ですか? C++ で同等のものは__LINE__
.
36202 次
4 に答える
63
__LINE__
リテラルは、 perldata man ページのSpecial Literalsセクションに記載されています。
print "File: ", __FILE__, " Line: ", __LINE__, "\n";
また
warn("foo");
于 2008-12-10T09:01:07.287 に答える
8
落とし穴があることに注意してください
perl -e'warn("foo")'
-e 行 1 の foo。
改行で終わる場合、行番号は出力されません
perl -e'warn("foo\n")'
ふー
これは "perldoc -f die" に文書化されていますが、おそらく "perldoc -f warn" セクションの die への参照で見落としがちです...
于 2008-12-11T02:34:26.100 に答える
1
これにより、現在の行と「スタック」(現在の場所につながる呼び出しプログラム (スクリプト/モジュール/など) からの行のリスト) が出力されます。
while(my @where=caller($frame++)) { print "$frame:" . join(",",@where) . "\n"; }
于 2012-02-26T13:26:38.190 に答える