- 118 名前:nobodyさん mailto:sage [2008/09/02(火) 17:55:37 ID:???]
- >>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); }
|

|