perl中undef值defined函数
undef简介变量在第一次赋值前有一个特殊值undef,按照Perl来说就是: “这里什么也没有,请继续” 。如果这里的“什么也没有”是一些“数字” ,则表现为 0。如果是“字符串” ,则表现为空串。但undef 既非数字也非字符串,它是另一种标量类型。
# cat 1.pl
#!/usr/bin/perl -w
use strict;
my $a;
my $b="";
my $c=1;
print "a ok/n" if ( defined $a );
print "b ok/n" if ( defined $b );
print "c ok/n" if ( defined $c );
my %hash=(
'aa' => 'bejing',
);
if ( exists $hash{'aa'} )
{
print "aa exists/n";
}
else
{
print "aa not exists/n";
}
结果:
# perl -w 1.pl
b ok
c ok
aa exists
# a 没有赋值过值,所以是undef ,b赋值为空,空也是赋值,c赋值,哈希存在aa值
defined是用来测试一个变量是否是undef的,也就是说这个变量一定有,只是不知道对这个变量赋过值没有
原文链接:http://blog.csdn.net/nomad2/article/details/6213979
页:
[1]