構文 |
|
caller 後戻りする数 caller |
返り値 |
|
呼び出し元の情報 |
説明
- 現在実行中のサブ・ルーチンの呼び出し元の情報を返します。
- 指定した数だけ後戻りした呼び出し元の情報を返します。
- 引数を省略すると,呼び出し元のパッケージ名,ファイル名,行番号を返します。
- 引数を指定した場合は省略した場合よりも多くの情報を返します。
使用例
#!/usr/bin/perl
use strict;
use warnings;
print "-----\n";
hoge();
print "-----\n";
sub hoge {
my ($package, $filename, $line) = caller;
printf "%04d %s\n", $line, $filename;
}
#!/usr/bin/perl
use strict;
use warnings;
foo();
sub foo {
bar();
}
sub bar {
baz();
}
sub baz {
my $i = 0;
while (my ($package, $filename, $line, $subroutine, $hasargs,
$wantarray, $evaltext, $is_require, $hints, $bitmask
) = caller($i)
) {
printf "%d %04d %s\n", $i, $line, $subroutine;
$i++;
}
}