08/09/02 17:55:37
>>114,116
ありがとうございます
> my $pkg = caller(++$i);
> unless(defined($pkg)) {
こんなこと出来るんですね…
すみません調べが足りず、callerに対して無効な範囲の引数を渡したら
落ちちゃうもんだとおもってました。
目的としては、余計な引数のリレーとかグローバル変数とか使わずに
エラーサブだけでツリー生成することでしたので、下記のような感じでテストしてみます。
うまく行ったら〆報告します。
sub err {
my ($sadd) = @_;
my @return;
my $i = 0;
while(1) {
my $s = caller($i);
if (defined $s) {
@return .= $s;
} else {
last;
}
$i++;
}
print STDERR $sadd."\n".(join ' / ', reverse @return);
}