这可能是一个容易的解决方案,但我无法想像出来.我正在寻找:
>将CSV文件导入数组
通过数组循环并将字段分割成变量
>如果数组字段为空,则将变量设置为“N / A”
注意:只有将$变量设置为“N / A”,我无法工作.
例如:
foreach $var (@list) { ($name,$date,$size,etc...)=split(/,\"/,$var); }
如果数组中的字段为空,我将如何将$date设置为“N / A”?
所以要生产:
$name = Jim $date = N/A $size = small
我希望这是有道理的,很容易解决.
-谢谢
解决方法
假设变量$date未定义为“空”时:
if (!defined($date)) { $date = 'N/A'; }
或更简洁:
$date //= 'N/A';
或者如果它真的是一个空字符串,即$date =”; (这也可以在$date未定义的情况下工作,但如果您只想识别未定义的情况,则不需要使用它):
if ($date eq '') { $date = 'N/A'; }
或者更简洁(请注意,由于Perl的弱键入,如果$date为“0”,则还将将$date设置为N / A):
$date ||= 'N/A';