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;
}
}
関連項目
・呼び出し元ファイル名と行番号の取得・ファイル名と行番号
