use Data::Dumper; my @a = qw/a b c d e/; my %a; @a{@a} = (1) x @a; print "--- \@a before ---\n", Dumper \@a; print "--- \%a before ---\n", Dumper \%a; undef @a{@a}; undef @a[1,2,3]; print "--- \@a after ---\n", Dumper \@a; print "--- \%a after ---\n", Dumper \%a;