查找嵌套在Perl中的哈希中的数组的最大索引

时间:2012-08-28 00:25:02

标签: perl

我有一个带有两个键的哈希,值在一个数组中。所以,

%graph;
@{$graph{$root}{"children"} = ('apple', 'banana', 'orange');

我试图得到索引的最大大小为2,通常我会做

$#array

但是,当我这样做时

$#{$graph{$root}{"children"}

它被注释掉了。

1 个答案:

答案 0 :(得分:3)

以下代码适用于我,提供输出:

$ perl x.pl
List: apple banana orange
Size: 2
$

代码 - 注意正确关闭的大括号(问题中的代码存在阻止其编译的问题):

#!/usr/bin/env perl
use strict;
use warnings;
use English qw( -no_match_vars );

my $root = "root";

$OFS = " ";
my %graph;
@{$graph{$root}{"children"}} = ('apple', 'banana', 'orange');

print  "List:", @{$graph{$root}{"children"}}, "\n";
printf "Size: %d\n", $#{$graph{$root}{"children"}};

(RHEL 5 for x86 / 64上的Perl 5.12.1)