Perl哈希表用法解析

 更新时间:2013年02月17日 14:48:04   作者:  
Perl语言有很多值得学习的地方,那么你对Perl哈希表的概念是否熟悉呢,这里和大家分享一下,希望本文的介绍能让你有所收获

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

Perl哈希表
Perl哈希表是一种结构。
key/value.
访问Perl哈希表元素
$Perl哈希表{$some_key}
当给Perl哈希表选择名字时,最好这样思考:Perl哈希表元素的名字和key之间可以用for来连接。如thefamily_nameforfredisflintstone.

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

复制代码 代码如下:

#!/bin/perl   
usewarnings;  
usestrict;  

my$person;  
my%family_name;   
$family_name{"fred"}="flintstone";  
$family_name{"barney"}="rubble";  

foreach$person(qw<barneyfred>){  
print"I'veheardof$person$family_name{$person}.\n";  
}  
my%some_hash=("foo",35,"bar",12.4,25,"hello","wilma",1.72e30,"betty","bye\n");  
my@array_array=%some_hash=;  
print"@array_array\n"; 

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

复制代码 代码如下:

my%last_name=(  
"fred"=>"flintstion",  
"dino"=>undef,  
"barney"=>"rubble",  
"betty"=>"rubble",  
); 

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

复制代码 代码如下:

my@k=keys%last_name;  
my@v=values%last_name;  
my$count=keys%last_name;#scalar-producing,key/valuepairs  

print"thekeyare@k.\n";  
print"thevalueare@v.\n";  
print"thecountare$count.\n"; 

each函数

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

复制代码 代码如下:

my$key;  
my$value;   
while(($key,$value)=each%last_name){   
#foreach(($key,$value)=each%last_name){  
print"$key=>$value.\n";  
}  

注意两种循环的结果,原因在于两种循环的设计机制不同。
复制代码 代码如下:

foreach$key(sortkeys%last_name){  
$value=$last_name{$key};  
print"$key=>$value.\n";  
print"$key=>$last_name{$key}.\n";  
}

相关文章

  • Perl 哈希Hash用法之入门教程

    Perl 哈希Hash用法之入门教程

    本文和大家重点讨论一下Perl Hash的用法,哈希是一种数据结构,和数组类似,但是,和数组不同的是,其索引不是数字,而是名字。也就是说,索引(这里,我们将它叫key)不是数字而是任意的唯一的字符串
    2013-02-02
  • perl文件读取的几种处理方式小结

    perl文件读取的几种处理方式小结

    perl打开文件后,可以有几种方式对文件进行读取处理(根据文件大小,文件内容的特征和其它要处理的方式)
    2013-02-02
  • Perl字符串比较和整数比较的区别详解

    Perl字符串比较和整数比较的区别详解

    这篇文章主要介绍了详解Perl字符串比较和整数比较的区别,需要的朋友可以参考下
    2017-09-09
  • python批量下载壁纸的实现代码

    python批量下载壁纸的实现代码

    壁纸来自桌酷网站,所有权归属其网站,本代码仅做为交流学习使用,请勿用于商业用途,否则后果自负
    2012-08-08
  • Perl字符串处理函数大全

    Perl字符串处理函数大全

    本文重点讨论Perl字符串处理函数的用法,每种函数都有各自的特点和作用,需要的朋友可以参考下
    2017-09-09
  • perl的INC设置分析

    perl的INC设置分析

    perl的INC变量包含了所有perl module的查找路径,可以使用perl -V 来查看INC的值
    2013-02-02
  • Perl中的控制结构学习笔记

    Perl中的控制结构学习笔记

    这篇文章主要介绍了Perl中的控制结构学习笔记,本文讲解了条件语句if、条件语句unless、循环语句while、循环语句until、for循环、foreach语句、循环控制等内容,需要的朋友可以参考下
    2014-11-11
  • perl生成特定碱基比例的随机序列的代码

    perl生成特定碱基比例的随机序列的代码

    怎么用perl程序,随机生成一条序列,使ACGT四种碱基的含量分别为0.3,0.3,0.2,0.2!
    2013-03-03
  • perl之print,printf,sprintf使用案例详解

    perl之print,printf,sprintf使用案例详解

    这篇文章主要介绍了perl之print,printf,sprintf使用案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • perl实现blog备份的脚本代码

    perl实现blog备份的脚本代码

    用perl实现的备份sql的代码,需要的朋友可以参考下
    2013-02-02

最新评论