私はperlの初心者です。ハッシュの値を返す関数を作成しようとしています。次のコードは、ハッシュの最後のインデックスを返すだけです。私はグーグルで検索しましたが、必要なものが見つかりませんでした。どこが間違っているのか誰か教えていただければ幸いです。
「he_1」を渡すと、1などの戻り値が返されるはずですが、9しか表示されません。
#!/usr/bin/perl
my %IndexMap = ();
my $MAX_V = 5;
my $MAX_T = 10;
sub InitIndexMap {
foreach my $i (0..$MAX_V-1) {
$IndexMap["he_".$i] = $i;
print "he_".$i;
print $IndexMap["he_".$i];
}
foreach my $i ($MAX_V..$MAX_T-1) {
$IndexMap["un".$i] = $i;
print "un".$i;
print $IndexMap["un".$i];
}
}
sub GetVal {
my ($name) = @_;
return $IndexMap[$name];
}
&InitIndexMap();
my ($index) = &Getval("he_4");
print $index;