> 2000/08/14 (月) 05:29:53 ▼ ◇ [mirai]> > グローバル変数を使うか関数にエラーメッセージを
> > 格納する変数へのリファレンスを渡す。
> > 実際特殊変数の$!はグローバル変数だし。
> グローバル変数を強要するのは論外なので
> リファレンスを渡すようにします。
> というか其の位しか方法無いもんなんですね。
> ともあれどうもありがとうございました。
open() || die "Can't Open Stream :$!";
と同じ様に使いたいってんなら$!がグローバル変数
だからそれと同じような風にするしかないだろ。
あとはリファレンスが渡されなかったら
エラーメッセージは黙って捨てることにすれば経済的
sub xx {
my($x, $errref) = @_;
if(&check($x)) {
$errref && $$errref = "invalid argument";
return 0;
}
# some codes
$errref && $$errref = "";
return 1;
}
とか言う感じで。
参考:2000/08/14(月)05時23分48秒