网站大量收购独家精品文档,联系QQ:2885784924

创建Perl哈希表几种方法.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建Perl哈希表的几种方法下面介绍几种不同的创建Perl哈希表的方法,虽然表现形式不一样,但是它们的作用是一样的。①%hash=(fruit?=apple,sandwich=hamburger,drink?=bubbly,);②%hash=(fruit?,apple,sandwich,hamburger,drink?,bubbly,);③%hash=(fruit?,apple,sandwich,hamburger,drink?,bubbly,);④%hash=(fruit??applesandwich?hamburgerdrink??bubbly);Perl – 遍历二维Hash使用$hash{$key1}{$key2} = $value; 遍历(注意加粗与加下划线的语句)foreach my $key1 (keys %hash){my $hash2 = $hash{$key1};foreach my $key2 (sort{$hash2-{$b}=$hash2-{a}} keys?%$hash2){print $key1.”\t”.$key2.”\t”.$hash2-{$key2}.”\n”;}}对比单维哈希foreach my $key (sort{$hash{$b}=$hash{$a}} keys %hash){print $key.”\t”.$hash{$key}.”\n”;}实际中的应用:比如一个二维Hash:$VAR1 ={??????????0={???????????????????lu_id=529,???????????????????lu_contract_id= ,???????????????????lu_name=上海XXXX科技有限公司,???????????????????lu_loginid=上海XXXX?????????????????}????????};?????????1={???????????????????lu_id=784,???????????????????lu_contract_id= ,???????????????????lu_name=北京XXXX广告???????????????????lu_loginid=北京XXXX?????????????????}????????};现在想把里面所有的lu_id组成一个列表,程序如下:foreach my $key (sort keys %hash){????my $value= $hash{$key};????push @list,$value-{lu_id};}2.hash 操作?? a.增加???? my %hash; //定义  第一种写法:$hash{author}=Young;? #author 是关键字,Young 是value???? 与数组一样,hash作为整体时候是这样%hash 带标示符%,作为单个元素使用要使用$而不是%?????第二种写法:?my %food=(fruit,apple,drink,Coco);???????? #类似数组初始化注意这里使用的是( )不是{}? {},用了它实际就是创建了一个引用,正确的就是(),圆括号否则会报 Reference found where even-sized list expected at hash.pl line 4. ? 第三种写法:my %fruit=(apple=fruit,banana=fruit);??? #???? =是perl运算符,用于hash?????? b.使用hash值?????? 单个使用:$hash{author};???????? #????? ?$哈希名{$keyword}???????全部使用:foreach $key (keys %food)?????????????????????? {???????????????????????????????????? print??print $key=$food{$key}\n;???? #使用keys %food 遍历%food的每一个关键字????????????????????????? ?}?????????????获取所有的key:my ?@key=keys %fruit;???????获取所有的value:? my @value=values??%fruit;???????????????????????????????????????????3.hash 函数 exists 和delete?? 判断某个关键字是否存在 exists $hash{auther}?? 删除某个关键字 delete %hash{$keyword}?? 删除整个hash %ha

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档