2 つのキーを持つハッシュがあり、値は配列にあります。それで、
%graph;
@{$graph{$root}{"children"} = ('apple', 'banana', 'orange');
インデックスの最大サイズである 2 を取得しようとしていますが、通常はそうします
$#array
しかし、私がするとき
$#{$graph{$root}{"children"}
コメントアウトされます。
2 つのキーを持つハッシュがあり、値は配列にあります。それで、
%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)