use strict; use Data::Dumper; my %fruits=(); my @arr = ([1,1],[1,2],[3,5],[6,7]); for (0..$#arr) { $fruits{$_} = $arr[$_] } print Dumper(\%fruits); __END__ STDOUT: $VAR1 = { '1' => [ 1, 2 ], '3' => [ 6, 7 ], '0' => [ 1, 1 ], '2' => [ 3, 5 ] };