Chinaunix

标题: 为什么无法print "%hash\n" [打印本页]

作者: qdxby    时间: 2004-10-12 07:50
标题: 为什么无法print "%hash\n"
如:
%hash=(data1=11,data2=22);
print "%hash\n";
根本无法打印出hash中的key和value

同理:
$hashreference={data1=11,data2=22};
print "%{$hashreference}\n"
也无法打印出其中的数据

而@array和@{$arrayref}中的数据都可以被打印出

请问perl就是不允许print "%hash\n"这种语法吗?打印hash中的数据只能用循环吗?
作者: apile    时间: 2004-10-12 08:27
标题: 为什么无法print "%hash\n"
#!/usr/bin/perl
%hash=(data1=>;11,data2=>;22);
print $hash{data1}."\n";
print $hash{data2}."\n";
寫法不對....只有@ array可以用print "@aaa";
%hash不行..
作者: fayland    时间: 2004-10-12 09:57
标题: 为什么无法print "%hash\n"
%hash得这么写吧
foreach (keys %hash) {
   print "$_ =>; $hash{$_}";
}
作者: fayland    时间: 2004-10-12 09:58
标题: 为什么无法print "%hash\n"
如果要把%hash直接输出,可以
my @tmp = %hash;
print "@tmp";
作者: tiw    时间: 2004-10-12 19:48
标题: 为什么无法print "%hash\n"
用data::dumper
作者: qqzzll    时间: 2004-10-13 13:20
标题: 为什么无法print "%hash\n"
each




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2