Perl语言中Perl函数用法

开发 架构
Perl语言中Perl函数和模块有很多值得学习的地方,那么你对它们的概念你是否了解,这里和大家简单分享一下,希望本文的介绍能让你有所收获。

本文和大家重点学习一下Perl函数和模块的概念,比如keys函数,它会遍历所有的哈希变量,并把哈希变量的key作为一个数组返回,我们可以通过遍历这个数组来访问哈希变量的所有元素。

Perl函数和模块

1、创建Perl函数

sub函数名{

函数体
}

2、Perl函数之keys和values函数

keys函数会遍历所有的哈希变量,并把哈希变量的key作为一个数组返回,我们可以通过遍历这个数组来访问哈希变量的所有元素。需要注意,这个数组中的key仍然是无序的。对应的函数就是
values函数,它会把哈希变量保存的所有的值作为一个数组返回。
 

  1. [root@test-linuxtmp]#catpy.pl  
  2. #!/usr/bin/Perl-w  
  3. $name{'bo'}=1;  
  4. $name{'hong'}=2;  
  5. $name{'quan'}=3;  
  6. @keyname=keys(%name);  
  7. @valuesvaluesname=values(%name);  
  8. print"\@keynameis@keyname\n";  
  9. print"\@valuesnameis@valuesname\n";  
  10. print"\%name{\$keyname[0]is%name{$keyname[1]}\%name{\$valuesname[0]is$valuesname[1]}}\n";  
  11. [root@test-linuxtmp]#  

 3、Perl函数之each函数

each函数的功能就是遍历哈希变量中所有的数据并把每一对key=>value作为一个只有两个元素的数组返回,key在前,value在后。each函数会循环地取出所有的数据,直到所有数据都被取出反返回false。

  1. [root@test-linuxtmp]#catpu.pl  
  2. #!/usr/bin/Perl-w  
  3. $name{'beijing'}=99;  
  4. $name{'shanghai'}=88;  
  5. $name{'shenzhen'}=77;  
  6. while(@value=each(%name))  
  7. {  
  8. print"$value[0]is$value[1]\n";  
  9. }  
  10.  
  11. [root@test-linuxtmp]#./pu.pl  
  12. shenzhenis77  
  13. beijingis99  
  14. shanghaiis88  
  15. [root@test-linuxtmp]#  
  16.  

 4、Perl函数之delete和exists函数

delete函数的功能就是从哈希变量中删除一个元素,而exists函数的功能则是判断哈希变量中是否存在某一个值。
 

  1. [root@test-linuxtmp]#catpq.pl  
  2. #!/usr/bin/Perl-w  
  3. $city{'hebei'}="issheng";  
  4. $city{'hadan'}="isshish";  
  5. $city{'xiang'}="isxianL";  
  6. if(exists($city{'hebei'}))  
  7. {  
  8. delete($city{'hebei'});  
  9. }  
  10. while(@value=each(%city))  
  11. {  
  12. print"$value[0]=>$value[1]\n";  
  13. }  
  14.  
  15. [root@test-linuxtmp]#./pq.pl  
  16. hadan=>isshish  
  17. xiang=>isxianL  

【编辑推荐】

  1. Perl函数手册专家指导
  2. Perl文件句柄概念详解
  3. 解析两大Perl标量的操作符
  4. Perl基础 Perl数组学习指南
  5. Perl基础 解析Perl标量和数组概念

 

责任编辑:佚名 来源: 51cto.com
相关推荐

2010-07-21 09:50:51

Perl调试

2010-07-26 16:23:23

Perl语言

2010-07-13 15:34:09

Perl语言

2010-07-20 11:37:00

Perl函数返回值

2010-07-23 13:23:10

Perl语言

2010-07-23 13:46:27

Perl语言

2010-07-19 09:16:47

Perl包

2010-07-19 15:37:48

Perl日期时间

2010-07-23 15:59:33

Perl encode

2010-07-20 10:23:24

Perl类

2010-07-19 14:20:57

Perl函数

2010-07-21 09:57:46

Perl文件

2010-07-16 16:56:01

Perl构造函数

2010-07-23 13:53:33

Perl grep函数

2010-07-19 14:13:41

Perl函数

2010-07-20 10:02:15

Perl类

2010-07-19 15:01:26

Perl数学函数

2010-07-19 14:37:01

Perl进程启动函数

2010-07-21 14:18:27

Perl函数

2010-07-21 10:10:50

Perl split函
点赞
收藏

51CTO技术栈公众号