私はしばらくの間、この質問をしてきました。
単純な配列があると仮定すると、
my @arr;
foreach my $i (0..$#arr){
print "\$arr[$i] = '$arr[$i]'\n";
}
$#arr は単に配列の最後のインデックスを返します
ただし、次のようなより複雑なものに使用したい場合はどうなりますか?:
foreach my $i (0..$#@{$someHash{$}[$b]{$c}});
確かに、私はそれを次のように書くことができます
foreach my $i (0..(scalar(@{$someHash{$}[$b]{$c}})-1));
しかし、それはコードをさらに複雑にするだけです。
だから私の質問は、 $# を単純な配列(参照、関数呼び出しから返されるリストなど)以外に使用できるかということです。
ありがとう