$hash{ $array[$_] } = $_ for (0..$#array); #### use 5.012; while (my ($idx, $val) = each(@array)) { $hash{$val} = $idx; }