foreach my $num (@$arr) { $hr->{$num} =1; } #### #!/usr/bin/perl -w use strict; use strict; use warnings; use diagnostics; use Data::Dumper; my $arr = [1,2,3]; my $hr = undef; foreach my $num (@$arr) { $hr->{$num} =1; } print Dumper $hr; __END__ prints: $VAR1 = { '1' => 1, '3' => 1, '2' => 1 };