本文和大家重点学习一下Perl函数和模块的概念,比如keys函数,它会遍历所有的哈希变量,并把哈希变量的key作为一个数组返回,我们可以通过遍历这个数组来访问哈希变量的所有元素。
Perl函数和模块
1、创建Perl函数
sub函数名{
函数体
}
2、Perl函数之keys和values函数
keys函数会遍历所有的哈希变量,并把哈希变量的key作为一个数组返回,我们可以通过遍历这个数组来访问哈希变量的所有元素。需要注意,这个数组中的key仍然是无序的。对应的函数就是
values函数,它会把哈希变量保存的所有的值作为一个数组返回。
[root@test-linuxtmp]#catpy.pl
#!/usr/bin/Perl-w
$name{'bo'}=1;
$name{'hong'}=2;
$name{'quan'}=3;
@keyname=keys(%name);
@valuesvaluesname=values(%name);
print"\@keynameis@keyname\n";
print"\@valuesnameis@valuesname\n";
print"\%name{\$keyname[0]is%name{$keyname[1]}\%name{\$valuesname[0]is$valuesname[1]}}\n";
[root@test-linuxtmp]#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
3、Perl函数之each函数
each函数的功能就是遍历哈希变量中所有的数据并把每一对key=>value作为一个只有两个元素的数组返回,key在前,value在后。each函数会循环地取出所有的数据,直到所有数据都被取出反返回false。
[root@test-linuxtmp]#catpu.pl
#!/usr/bin/Perl-w
$name{'beijing'}=99;
$name{'shanghai'}=88;
$name{'shenzhen'}=77;
while(@value=each(%name))
{
print"$value[0]is$value[1]\n";
}
[root@test-linuxtmp]#./pu.pl
shenzhenis77
beijingis99
shanghaiis88
[root@test-linuxtmp]#
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
4、Perl函数之delete和exists函数
delete函数的功能就是从哈希变量中删除一个元素,而exists函数的功能则是判断哈希变量中是否存在某一个值。
[root@test-linuxtmp]#catpq.pl
#!/usr/bin/Perl-w
$city{'hebei'}="issheng";
$city{'hadan'}="isshish";
$city{'xiang'}="isxianL";
if(exists($city{'hebei'}))
{
delete($city{'hebei'});
}
while(@value=each(%city))
{
print"$value[0]=>$value[1]\n";
}
[root@test-linuxtmp]#./pq.pl
hadan=>isshish
xiang=>isxianL
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
【编辑推荐】