Perl哈希表用法解析

开发 架构
Perl语言有很多值得学习的地方,那么你对Perl哈希表的概念是否熟悉呢,这里和大家分享一下,希望本文的介绍能让你有所收获。

本文和大家重点讨论一下Perl哈希表的概念,Perl语言和其他编程语言各有各的特点,这里和大家分享一下Perl哈希表的概念,其实Perl哈希表是一种结构。

Perl哈希表

Perl哈希表是一种结构。

key/value.

访问Perl哈希表元素

$Perl哈希表{$some_key}

当给Perl哈希表选择名字时,***这样思考:Perl哈希表元素的名字和key之间可以用for来连接。如thefamily_nameforfredisflintstone.

要引用整个Perl哈希表,使用百分号(%)作为前缀。 

  1. #!/bin/perl  
  2.  
  3. usewarnings;  
  4. usestrict;  
  5.  
  6. my$person;  
  7. my%family_name;  
  8.  
  9. $family_name{"fred"}="flintstone";  
  10. $family_name{"barney"}="rubble";  
  11.  
  12. foreach$person(qw<barneyfred>){  
  13. print"I'veheardof$person$family_name{$person}.\n";  
  14. }  
  15.  
  16. my%some_hash=("foo",35,"bar",12.4,25,"hello","wilma",1.72e30,"betty","bye\n");  
  17.  
  18. my@array_array=%some_hash=;  
  19. print"@array_array\n";  
  20.  

 哈希赋值方法大箭头符号(=>)

  1. my%last_name=(  
  2. "fred"=>"flintstion",  
  3. "dino"=>undef,  
  4. "barney"=>"rubble",  
  5. "betty"=>"rubble",  
  6. );  
  7.  

 keys函数会返回此Perl哈希表的所有keys,values含税将返回所有的values。如果Perl哈希表中没有元素,则此函数将返回空列表。

  1. my@k=keys%last_name;  
  2. my@v=values%last_name;  
  3. my$count=keys%last_name;#scalar-producing,key/valuepairs  
  4.  
  5. print"thekeyare@k.\n";  
  6. print"thevalueare@v.\n";  
  7. print"thecountare$count.\n";  
  8.  

 each函数

如果想迭代得到Perl哈希表中的每个元素,一个通常的方法是使用each函数,它将返回key/value对的元素对。当对同一个Perl哈希表函数进行一次迭代时,将返回下一个key/value对,直到所有的元素均被访问。

  1. my$key;  
  2. my$value;  
  3.  
  4. while(($key,$value)=each%last_name){  
  5.  
  6. #foreach(($key,$value)=each%last_name){  
  7. print"$key=>$value.\n";  
  8. }  
  9.  

 注意两种循环的结果,原因在于两种循环的设计机制不同。

  1. foreach$key(sortkeys%last_name){  
  2. $value=$last_name{$key};  
  3. print"$key=>$value.\n";  
  4. print"$key=>$last_name{$key}.\n";  
  5. }  
  6.  

【编辑推荐】

  1. Perl if语句用法实例解析
  2. Perl文件句柄概念详解
  3. 实例解析Perl守护进程用法
  4. Perl模式匹配经验总结
  5. 术语汇编 Perl变量中Perl关联数组用法解析

 

 

责任编辑:佚名 来源: man.ddvip.com/web
相关推荐

2010-07-13 16:34:34

Perl 哈希表

2010-07-13 16:20:21

Perl 哈希表

2010-07-13 13:49:43

Perl foreac

2010-07-19 14:13:41

Perl函数

2010-07-20 09:45:04

Perl继承

2010-07-15 10:22:23

Perl控制结构

2010-07-16 08:47:53

Perl if语句

2010-07-16 16:56:01

Perl构造函数

2010-07-20 15:02:20

Perl数组

2010-07-14 15:32:21

Perl转义字符

2010-07-21 13:59:59

Perl引用

2010-07-16 13:57:13

Perl哈希表

2010-07-19 14:37:01

Perl进程启动函数

2010-07-13 09:23:00

Perl变量

2010-07-15 15:54:10

Perl守护进程

2010-07-15 10:47:22

Perl命令行

2010-07-26 15:17:51

Perl解析XML文件

2010-07-14 12:39:30

Prel字符串

2010-07-19 09:28:37

Perl关联数组

2010-07-16 13:45:41

Perl引用
点赞
收藏

51CTO技术栈公众号