我是perl的新手新手。我正在尝试创建一个返回哈希值的函数。以下代码段简单地返回散列的最后一个索引。我搜索了一下,无法找到我需要的东西。欣赏是否有人能告诉我我哪里出错了。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;
[为什么使用strict和warnings?](http://stackoverflow.com/q/8023959/725418) – TLP