Answers:
由于将字符串存储在Perl中的方式,优化了字符串的长度。
if (length $str)
是检查字符串是否为非空的好方法。
如果您处在尚未防御的情况下undef
,那么不会发出警告的“非空”总称是if (defined $str and length $str)
。
if (length($str))
是一种不错的方法,并且如果未定义变量也不会失败。
在Perl中,除了使用CPAN之外,“正确”的方法无所不包。
无论如何,这些都是数字运算符,您应该使用
if($foo eq "")
要么
if(length($foo) == 0)
if ($foo == "")
,例如,是明确错误的,除非你实际上意味着被检测为是否$foo
(在这种情况下,将在数字方面评估,具有0值仍然可以更好地写作if ($foo == 0)
,因为这更清楚地表达你意图)。
要检查空字符串,您还可以执行以下操作
if (!defined $val || $val eq '')
{
# empty
}