caller
caller EXPR
caller
現在実行中のサブルーチンのスタック情報を返します。
EXPRには数値を指定します。指定した数だけ後戻りしたスタック情報を返します。
EXPRを省略すると、呼び出し元のパッケージ名、ファイル名、行番号を返します。
EXPRを指定した場合は省略した場合よりも多くの情報を返します。
サンプルプログラム
print "-----\n"; hoge(); print "-----\n"; fuga(); print "-----\n"; sub hoge { my ($package, $filename, $line) = caller; printf "%04d %s\n", $line, $filename; } sub fuga { piyo(); } sub piyo { my $i = 0; while (($package, $filename, $line, $subroutine, $hasargs, $wantarray, $evaltext, $is_require, $hints, $bitmask ) = caller($i++)) { printf "%04d %s\n", $line, $filename; } }
関連項目
・呼び出し元ファイル名と行番号の取得・ファイル名と行番号