识别Perl中的空字符串

这可能是一个容易的解决方案,但我无法想像出来.我正在寻找:

>将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';

相关文章

忍不住在 PerlChina 邮件列表中盘点了一下 Perl 里的 Web 应用框架(巧的是 PerlBuzz 最近也有一篇相关...
bless有两个参数:对象的引用、类的名称。 类的名称是一个字符串,代表了类的类型信息,这是理解bless的...
gb2312转Utf的方法: use Encode; my $str = "中文"; $str_cnsoftware = encode("utf-8...
  perl 计算硬盘利用率, 以%来查看硬盘资源是否存在IO消耗cpu资源情况; 部份代码参考了iostat源码;...
1 简单变量 Perl 的 Hello World 是怎么写的呢?请看下面的程序: #!/usr/bin/perl print "Hello W...
本文介绍Perl的Perl的简单语法,包括基本输入输出、分支循环控制结构、函数、常用系统调用和文件操作,...