use strict; use warnings; my $name = "Father" ; my @terms = qw(Mom Wife Son Daughter); my %fam_old = map{ $tool => { $_,1 }} @terms; print Dumper \%fam_old,"\n"; #### Global symbol "$tool" requires explicit package name at ...\noname.pl line 6. Execution of ...\noname.pl aborted due to compilation errors. #### my %fam_old = map{$_, 1} @terms; #### $VAR1 = { 'Son' => 1, 'Daughter' => 1, 'Wife' => 1, 'Mom' => 1 }; $VAR2 = ' ';