use Data::Dumper qw/Dumper/; my %a = map { $a{$_} => 1 unless undef, 0..5 } 0..11; print Dumper \%a; #### $VAR = { '11' => 12, '1' => 2, '3' => 4, '7' => 8, '9' => 10, '5' => 6 }; #### my %a = map { $a{ $a{ $a{ $a{ $a{ $_ } } } } } => 1, 0..5 } 0..9; print Dumper sort(\%a); #### my %a = map { $a{ $_ } => 1, 0..5 } 0..9;