我有一个更新 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?