首页 > 代码库 > 小时代5-perl哈希hash的用法介绍

小时代5-perl哈希hash的用法介绍

基本用法    #初始化%h为空数组    %h={};    #用数组初始化%h为a=>1,b=>2      %h=(‘a‘,1,‘b‘,2);    %h=(‘a‘=>1,‘b‘=>2);    #如果key是字符串,可以省略引号    %h=(a=>1,b=>2);    #用{}来访问    print “$h{a}n”;    #打印    $h{b}=‘2b‘;    print “$h{b}n”; #打印2b    #删除key用delete      delete$h{b};  #从$h删除‘b‘清空Perl Hash    undef %h;得到hash的所有键值    #得到所有keys,顺序取决于hash函数,或者说是乱序    @all_keys=keys%h;      #所有键值,是按hash的值从大往小排列的。值的比较是数字比较(比如说,10>9)    @all_keys=sort{$h{$b} => $h{$a}}(keys%h);判断Perl Hash是否包含key    exists($h{$key});Perl Hash的长度    $hash_size=keys%h #把%h的长度放到$hash_size中    print scalar keys %h,"n"; #打印%h的长度。这里用了scalar来返回数组长度。遍历一个Perl Hash    while(my($k,$v)=each%h){print"$k--->$vn";}Reference引用Reference类似于C/C++的指针    $h_ref=%h;    #获得一个hash的reference,      %aHash=%{$h_ref};   #把hash reference当成hash用    $value=http://www.mamicode.com/$h_ref->{akey}; #这个和%h{akey}是一样的"n"; #打印出2。这个值来自于函数foo()    sub foo{     my ($h)=@_;     print $h->{a},"n"; #打印出1     $h->{b}=2;    }函数返回hash,或者hash引用(hashreference)     sub foo{     my %fh;     $fh{a}=1;     return %h;    }    my %h=foo();    print "$h{a}n"; #打印出1但是这样等于把整个hash从%fh复制到了%h,效率比较低。可以考虑返回hash的引用:sub foo{my %fh;$fh{a}=1;return %fh;}my $hr=foo();print "$hr->{a}n"; #打印出1.my %h=%{foo()} #如果就是想复制,也可以用这种方法。不用担心在sub foo里的%fh是局部变量,Perl会自动管理内存。它会发现%fh被$hr引用,就不会清理%fh的内存,并且$hr失效后释放内存。 

 

www.hwmqh.comwww.rhliv.comwww.bbilo.comwww.jdcvv.comwww.vqjqu.comwww.ecbga.comwww.urukw.comwww.jcukg.comwww.yrikt.comwww.bwjvy.comwww.vrtyo.comwww.jltwy.comwww.mvxjd.comwww.spuyn.comwww.xjfpi.comwww.ewkhc.comwww.gflin.comwww.xtabm.comwww.dvkgn.comwww.cbidb.comwww.yximh.comwww.hxxja.comwww.ebwqe.comwww.zrdqs.comwww.arzbc.comwww.orxap.comwww.dqbky.comwww.wqrfc.comwww.ipnhe.comwww.vwnwu.comwww.rqzzk.comwww.cjjhl.comwww.titph.comwww.xpiyc.comwww.iefjh.comwww.ajieq.comwww.ndnbg.comwww.fpdpl.comwww.lrroc.comwww.yikgs.comwww.rutbx.comwww.qdgal.comwww.xwhhr.comwww.jdzic.comwww.kvxcp.comwww.jnzwb.comwww.fveqr.comwww.bnnyo.comwww.wyehw.comwww.xagbe.comwww.cedcj.comwww.tzfxh.comwww.ugrfc.comwww.hveoh.comwww.ofmra.comwww.sfevm.comwww.fvvsd.comwww.rutpi.comwww.whpxf.comwww.pudmt.comwww.bcwcm.comwww.faqcr.comwww.uuwbe.comwww.ykxef.comwww.hwyme.comwww.lujck.comwww.tzsib.comwww.fckyq.comwww.vzxuk.comwww.fkygj.comwww.klecr.comwww.zinwp.comwww.ufahg.comwww.vn7869.comwww.yuats.comwww.vn5573.comwww.zccfi.comwww.cdvsz.comwww.mdqgu.comwww.ffrtb.comwww.bicwn.comwww.viryy.comwww.qcmuj.comwww.gttlc.comwww.xgeuz.comwww.suoug.comwww.yrdwj.comwww.rmnzf.comwww.bamdz.comwww.fwrxr.comwww.exxre.comwww.uwlne.comwww.dbeyg.comwww.qertg.comwww.hocpd.comwww.bmvya.comwww.hmhns.comwww.qhdip.comwww.ntfty.comwww.kvfyu.comwww.gdydm.comwww.wyflu.comwww.cnprr.comwww.ypzzv.comwww.xunjm.comwww.esvfm.comwww.kzkdm.comwww.vycaa.comwww.txzeb.comwww.udvym.comwww.kmkme.comwww.yngne.comwww.bqjkk.comwww.bkjil.comwww.dozbl.comwww.hcuoa.comwww.jypxa.comwww.ogvsy.comwww.fizlg.comwww.dvkky.comwww.vpxbx.comwww.fplwt.comwww.oamud.comwww.jqdrw.comwww.folyq.comwww.dkssg.comwww.mnucb.comwww.cpjgy.comwww.kswtp.comwww.kbfcz.comwww.oqmse.comwww.ofije.comwww.esvbb.comwww.qmswq.comwww.aeodn.comwww.qhmmq.comwww.gllqc.comwww.xttmd.comwww.exhff.comwww.ttckq.comwww.fwaqf.comwww.bbufl.comwww.kyxxh.comwww.phqpx.comwww.pohjw.comwww.wjeln.comwww.iahue.comwww.wolnd.comwww.ryiap.comwww.tmfvs.comwww.ozvhx.comwww.yuowp.comwww.ryzyg.comwww.kvdfo.comwww.potxf.comwww.zrlpc.comwww.ijvqs.comwww.whprz.comwww.ehdrt.comwww.dkdvy.comwww.ytjlp.comwww.vgcgh.comwww.ikqlc.comwww.vwlcj.comwww.sxbmt.comwww.dkqrh.comwww.fkvre.comwww.gnxzj.comwww.wqilg.comwww.unnmh.comwww.xrifa.comwww.ozsnc.comwww.ykjat.comwww.jvhwb.comwww.tdnpe.comwww.bskto.comwww.jzzyj.comwww.efzop.comwww.wukkz.comwww.xfvpb.comwww.jmqry.comwww.xrbnn.comwww.sernl.comwww.tsqth.comwww.qgjfm.comwww.rgusf.comwww.wkopl.comwww.rfued.comwww.cmrkw.comwww.jfpch.comwww.qtmdy.comwww.lgxyb.comwww.hmvty.comwww.aybfm.comwww.upuaj.comwww.akzdz.comwww.aoxna.comwww.gkzux.comwww.cxgzn.comwww.uedxr.comwww.tmyqy.com

 

小时代5-perl哈希hash的用法介绍