Perl でソース行番号を出力するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/355456

  •  21-08-2019
  •  | 
  •  

質問

Perlで現在のソース行番号を取得することは可能ですか?C++ での同等のものは次のとおりです。 __LINE__.

役に立ちましたか?

解決

print "File: ", __FILE__, " Line: ", __LINE__, "\n";

または

warn("foo");

他のヒント

__LINE__ リテラルについては、 特殊なリテラル のセクション perldata のマニュアルページ.

との落とし穴があります注意してください。

perlの-e'warn( "foo" という) '

-e 1行目のfoo

それは改行で終了した場合、

は、のでしょうではない

行番号を印刷します

のPerl -e'warn( "FOOを\ n") '

FOO

このは「ダイ-fはperldoc」に記載が、「警告-fはperldoc」で欠場するかもしれない簡単です死ぬセクションの参照...

このはあなたが行を出力し、また、「スタック」(あなたが今いる場所につながる呼び出すプログラム(スクリプト/モジュール/など)から行のリスト)

while(my @where=caller($frame++)) { print "$frame:" . join(",",@where) . "\n"; }

「鯉を使う」と、様々なルーチンで遊ぶ、あなたはまた、スタックを取得 - この方法は、CNDによって提案された「発信元」の方法よりも良いか悪いかであるかどうかわかりません。私は、デバッグ時に、私はコードやその他の情報になった場所を示すために、CやPerlでLINEとFILE変数(そしておそらく他の類似の変数)を使用していたが、デバッグ環境外ではほとんど価値を見てきました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top