08/09/02 15:54:14 XutqN0xS
汎用のエラーサブルーチンで、
ログに場所や原因を特定できる情報を吐くために、
callerで大元の呼び出し元からのツリーを吐く方法を探してます。
力技でやれば、階層確認用の変数を作って
mainから関数を呼ぶたびに1ずつインクリメントしていってエラー関数でforで
階層確認用の変数の分だけ回せば出来るとは思うんですが、
sub err {
my ($sadd) = @_;
my $s;
for ($i=MAXVALUE; $i <= 0; $i--) {
$s .= caller($i).' / ';
}
print STDERR $sadd."\n".$s;
}
手動でインクリメントすることなく、上記のMAXVALUEを取得する方法はありませんでしょうか。