hash这样输出为什么不对?
时间:2011-01-23
来源:互联网
#!/usr/bin/perl
my %hash;
my $i;
for($i=1;$i<10;$i++)
{
my $key=$i;
my %hs=(
first => "a",
second => "b",
third => "c",
);
$hash{$key} = \%hs;
}
while(($mykey,$myvalue) = each(%hash))
{
print $mykey." ";
# while(($k,$v)=each%{$myvalue})
# {
# print $k.":".$v;
# }
# print "\n";
print $myvalue{"first"}.":";
print $myvalue{"second"}.":";
print $myvalue{"third"}.":";
print "\n";
}
注释掉的是要的结果,但是现在不是需要的结果。。。
这样的语句需要怎么修改呢?请指教!
my %hash;
my $i;
for($i=1;$i<10;$i++)
{
my $key=$i;
my %hs=(
first => "a",
second => "b",
third => "c",
);
$hash{$key} = \%hs;
}
while(($mykey,$myvalue) = each(%hash))
{
print $mykey." ";
# while(($k,$v)=each%{$myvalue})
# {
# print $k.":".$v;
# }
# print "\n";
print $myvalue{"first"}.":";
print $myvalue{"second"}.":";
print $myvalue{"third"}.":";
print "\n";
}
注释掉的是要的结果,但是现在不是需要的结果。。。
这样的语句需要怎么修改呢?请指教!
作者: linfengfeiye 发布时间: 2011-01-23
你这样展开有什么特殊意义?直接用 Data::Dumper 多省事
你那个 $myvalue 是个 hashref 索引应该用 $myvalue->{'first'} 这种格式的
你那个 $myvalue 是个 hashref 索引应该用 $myvalue->{'first'} 这种格式的
作者: zhlong8 发布时间: 2011-01-23
本帖最后由 x9x9 于 2011-01-23 19:55 编辑
如果为了看下数据结构当然用Data::Dumper最好了。如果想取值的话就得遍历一下:
复制代码
如果为了看下数据结构当然用Data::Dumper最好了。如果想取值的话就得遍历一下:
- foreach my $k (keys %hash){
- forecah my $kk (keys %{$hash{$k}}){
- print "$kk:$hash{$k}->{$kk}\n";
- }
- }
作者: x9x9 发布时间: 2011-01-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28