我有一个带有两个键的散列,值在一个数组中。所以,
%graph;
@{$graph{$root}{"children"} = ('apple', 'banana', 'orange');
我试图获得索引的最大大小为 2,通常我会这样做
$#array
但是,当我这样做时
$#{$graph{$root}{"children"}
它被注释掉了。
我有一个带有两个键的散列,值在一个数组中。所以,
%graph;
@{$graph{$root}{"children"} = ('apple', 'banana', 'orange');
我试图获得索引的最大大小为 2,通常我会这样做
$#array
但是,当我这样做时
$#{$graph{$root}{"children"}
它被注释掉了。
下面的代码对我有用,给出输出:
$ 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)