Perl语言中Perl函数用法

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

本文和大家重点学习一下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.

【编辑推荐】

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

 

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

2010-07-21 09:50:51

Perl调试

2010-07-13 15:34:09

Perl语言

2010-07-26 16:23:23

Perl语言

2010-07-20 11:37:00

Perl函数返回值

2010-07-23 13:23:10

Perl语言

2010-07-19 15:37:48

Perl日期时间

2010-07-19 09:16:47

Perl包

2010-07-23 15:59:33

Perl encode

2010-07-23 13:46:27

Perl语言

2010-07-20 10:23:24

Perl类

2010-07-19 14:20:57

Perl函数

2010-07-21 09:57:46

Perl文件

2010-07-20 10:02:15

Perl类

2010-07-19 15:01:26

Perl数学函数

2010-07-23 13:53:33

Perl grep函数

2010-07-16 16:56:01

Perl构造函数

2010-07-19 14:13:41

Perl函数

2010-07-21 14:18:27

Perl函数

2010-07-21 10:10:50

Perl split函

2010-07-13 09:14:21

Perl时间处理函数
点赞
收藏

51CTO技术栈公众号