0

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

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

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

$#array

但是,当我这样做时

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

它被注释掉了。

4

1 回答 1

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"}};

(适用于 x86/64 的 RHEL 5 上的 Perl 5.12.1)

于 2012-08-28T00:44:10.190 回答