Perl" null"当量?

时间:2016-04-21 16:36:47

标签: perl undefined

被Perl的空字符串,未定义,空白等所困惑(当然还有其他语言中的NULL)。

只需解析一个CSV文件和一个字段,如果它是空白的,我需要输入in 0000-00-00(它是一个日期字段)。如果它保留为空/空,则使用.CSV文件的另一个程序会因"日期值不正确而崩溃:''列" updateTranDate'"

这样的事情会起作用吗?

if(!$fields[23])
    {
    $_ = 0000-00-00 for @fields[23];
    }

1 个答案:

答案 0 :(得分:5)

这听起来像你想要的是

if(!length $fields[23])
    {
    $fields[23] = '0000-00-00';
    }

如果$fields[23]undef或空字符串(不完全相同),则此条件为真。您还需要在日期周围加上引号,否则它将被视为数学表达式(0 - 0 - 0等于0)。