use strict; my %ARRAYS; my @names = qw(A B C D); for (my $i=0; $i<4; $i++) { @{ $ARRAYS{$names[$i]} } = $i; } use Data::Dumper; print Dumper(@ARRAYS{@names});