【发布时间】:2016-03-17 10:44:57
【问题描述】:
专家, 我在 perl 中有一个数组哈希,我想打印前 2 个值。
my %dramatis_personae = (
humans => [ 'hamnet', 'shakespeare', 'robyn', ],
faeries => [ 'oberon', 'titania', 'puck', ],
other => [ 'morpheus, lord of dreams' ],
);
foreach my $group (keys %dramatis_personae) {
foreach (@{$dramatis_personae{$group}}[0..1]) { print "\t$_\n";}
}
我得到的输出是 “哈姆网 莎士比亚 奥伯龙 二氧化钛 睡眠 梦之主” 这基本上是每个键的前两个数组值。但我希望输出为:
哈姆网 莎士比亚
请告知我如何获得此结果。谢谢!
【问题讨论】:
-
哈希没有一组有序的值,您需要以另一种方式构造它。您可以使用perldoc.perl.org/functions/values.html 获取所有值,然后从中切出前两个元素,但结果未定义。