$a[$i] @a[$i]
子函数:
[oracle@jhoa 1]$ cat 2.pl
sub hi {
my $name = shift;
return "hi,$name
";
}
print &hi("Fred");
[oracle@jhoa 1]$ perl 2.pl
hi,Fred
[oracle@jhoa 1]$ cat 3.pl
while ( my $file = glob('*')) {#
print "$file
";
}
[oracle@jhoa 1]$ perl 3.pl
1.pl
2.pl
3.pl
a.txt
unless 条件为假才执行:
[oracle@jhoa 1]$ cat a1.pl
$var="a1";
unless ($var eq "a1"){
print "11111
";
}else{
print "22222
";
}
[oracle@jhoa 1]$ perl a1.pl
22222
-----------------------------
[oracle@jhoa 1]$ cat a1.pl
$var="a1";
unless ($var eq "a2"){
print "11111
";
}else{
print "22222
";
}
[oracle@jhoa 1]$ perl a1.pl
11111
[oracle@jhoa 1]$ cat a2.pl
@cats = qw(a b c d e f g);
$cats[1] = undef;
print "@cats
";
foreach my $cat (@cats){
next unless defined $cat;
print "I Have a cat named $cat
";
}
[oracle@jhoa 1]$ perl a2.pl
a c d e f g
I Have a cat named a
I Have a cat named c
I Have a cat named d
I Have a cat named e
I Have a cat named f
I Have a cat named g
--------------------------------------------------
defined 测试该元素的值
用exists 函数测试是否存在该键名
[oracle@jhoa 1]$ cat a3.pl
my %hash;
if ( $hash{'foo'}){print "1111
"};
if (defined $hash{'foo'}){print "2222
"};
if (exists $hash{'foo'}){print "3333
"};
[oracle@jhoa 1]$ perl a3.pl
[oracle@jhoa 1]$
全部为假:
[oracle@jhoa 1]$ cat a3.pl
my %hash;
$hash{'foo'}= undef;
if ( $hash{'foo'}){print "1111
"};
if (defined $hash{'foo'}){print "2222
"};
if (exists $hash{'foo'}){print "3333
"}; 为真
[oracle@jhoa 1]$ perl a3.pl
3333