Perlコーディング初心者質問スレ Part 58
■ このスレッドは過去ログ倉庫に格納されています
0118nobodyさん
2008/09/02(火) 17:55:37ID:???ありがとうございます
> 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);
}
■ このスレッドは過去ログ倉庫に格納されています