Chinaunix首页 | 论坛 | 博客
  • 博客访问: 529586
  • 博文数量: 126
  • 博客积分: 851
  • 博客等级: 准尉
  • 技术积分: 1287
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-06 11:21
个人简介

个人最新博客地址http://www.skylway.com/

文章分类

全部博文(126)

文章存档

2016年(2)

2014年(60)

2013年(35)

2012年(29)

分类: Python/Ruby

2012-11-26 16:30:40

使用
$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:

01$VAR1 = {
02          '0' => {
03                   'lu_id' => '529',
04                   'lu_contract_id' => ' ',
05                   'lu_name' => '上海XXXX科技有限公司',
06                   'lu_loginid' => '上海XXXX'
07                 }
08        };
09         '1' => {
10                   'lu_id' => '784',
11                   'lu_contract_id' => ' ',
12                   'lu_name' => '北京XXXX广告'
13                   'lu_loginid' => '北京XXXX'
14                 }
15        };

现在想把里面所有的lu_id组成一个列表,程序如下:

1foreach my $key (sort keys %hash) {
2    my $value = $hash{$key};
3    push @list,$value->{"lu_id"};
4}
阅读(3713) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~