0

2 つのキーを持つハッシュがあり、値は配列にあります。それで、

%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 に答える