本文和大家重点学习一下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]#
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]#
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
【编辑推荐】