被Perl的空字符串,未定义,空白等所困惑(当然还有其他语言中的NULL)。
只需解析一个CSV文件和一个字段,如果它是空白的,我需要输入in 0000-00-00(它是一个日期字段)。如果它保留为空/空,则使用.CSV文件的另一个程序会因"日期值不正确而崩溃:''列" updateTranDate'"
这样的事情会起作用吗?
if(!$fields[23])
{
$_ = 0000-00-00 for @fields[23];
}
答案 0 :(得分:5)
这听起来像你想要的是
if(!length $fields[23])
{
$fields[23] = '0000-00-00';
}
如果$fields[23]
是undef
或空字符串(不完全相同),则此条件为真。您还需要在日期周围加上引号,否则它将被视为数学表达式(0 - 0 - 0
等于0
)。