RSSフィードを更新するPerlサブルーチンがあります。$_
戻り値をテストしたいのですが、関数は多くの場所で使用されているので、変数が指定されていない場合は、デフォルトの変数をテストしたかったのです。
コードは少し長すぎてすべてを含めることはできませんが、本質的には次のようになります
sub updateFeed {
#....
if($error) {
return 0;
}
return 1;
}
なぜですか
$rtn = updateFeed("My message");
if ($rtn < 1) { &Log("updateFeed Failed with error $rtn"); }
エラーをログに記録しない
一方
updateFeed("myMessage");
if ($_ < 1) { &Log("updateFeed Failed with error $_"); }
「」のエラーをログに記録しますupdateFeed Failed with error
か?(メッセージの最後に値がないことに注意してください。)
デフォルトの変数に空の文字列またはundefが含まれているように見える理由を誰かに教えてもらえますか?