perl hash

perl hash常用方法

2009-08-05 19:25

#!/usr/bin/perl -w

#1、基本

$family_name{"fred"}="flintstone"; //基本付值key/vaue

$family_name{"barney"}="rubble";

foreach $person(qw<barney fred>)   //指定key集合遍历

{

print "I've heard of $person $family_name{$person}./n";

}

#2、整个hash付值% 方法有三种

%alphabet=('a','apple','b','ball','c','cat','x','xyophone');// key,value

%alphabet=('a'=>'apple','b'=>'ball','c'=>'cat','x'=>'xyophone');//key=>value

%alphabet=('a','apple','b','ball','c'=>'cat','x'=>'xyophone');//两都混合也行

foreach $v (keys(%alphabet)) //根据key值遍历,keys(%alphabet)是key集合

{                             //同理values(%alphabet)是values集合

 

print "$v--->$alphabet{$v}/n";

}

 

@value=keys(%alphabet);

print "@value","/n"; //输出所有key值,如:a b c x ;"/n"代表最后换行 

print @value,"/n"; //输出所有key值,如:abcx;(注意二都区别,不带引号)"/n"代表最后换行

 

#常用第二种遍历方法

while(($key,$value)=each(%alphabet))//each代表key/value实休

{

print "$key is for $value/n";

}

#3、常用算法.....................

#3、1赋值

$family_name{"fred"}="aaaaaaaa";

print family_name{"fred"};//取值 输出 aaaaaaaa

#3、2 exists 是否存在某key

if(exists $alphabet{'a'})

{

print "true/n";

}

#3、3 delete

my $var=a; //my 局部作用域

delete $alphabet{$var};//册除

 

#3、4计算hash表元素个数

my $count=keys%alphabet;

print $count,"/n";

 

#3、5 sort 排序 

foreach $v (sort keys(%alphabet)) //根据key排序输出。。

}

#3、7 hash拷贝

%new_hash=% alphabet;

 

#3、8 reverse

%new_hash=reverse % alphabet; // % alphabet的内容为key/value;%new_hash的内容为vlue/key 

                               //当% alphabet的value有重复时,为了保持key唯一性,%new_hash的内容重复的将丢失;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值