YUANya

导航

 

1.undef

        undef是perl中变量未初始化时的默认值。当这个未初始化的变量被当做整型来使用时,那么undef就是0;当这个变量被当做字符串来使用时,那么undef就是空字符串。所以当在perl中使用一个未经过初始化的变量时,程序的运行是没有问题的。

        例如:

$sum += 1; #该语句第一次被执行时,sum变量默认为0

2.defined函数
判断某个变量是否是undef,也就是是否经过初始化操作。使用方法:

defined($var);
备注,通常情况下,用来判断一个字符串是空字符串还是undef

3.另外

     可以认为指定一个变量为undef,表示将该变量去初始化。使用方式:

$var = undef

my $word;#没有赋值
if((defined $word)==0){print "0\n$word"}
else{print "1\n$word";}

结果为第一行为0
第二行为空,说明defined返回为0,那说明$word没有赋值也就是undef的。

将my $word;改为my $word="";再运行一次。

结果为第一行为1
第二行为空,说明defined返回为非0,说明$word已经被赋值了,且赋值为空,所以第二行显示为空,虽然两次的$word都为空,但是却是一个没有被赋值,一个已经被赋值为空了。

posted on 2020-03-05 15:56  YUANya  阅读(365)  评论(0编辑  收藏  举报