foreach my $k (@k) { $s =~ m/(.)$k(.)/ ; if (($1 ne "\0") || ($2 ne "\0")) { delete $h{$k} ; } ; } #### for my $k ( @k ) { if ( $s =~ /\0$k\0/ ) { delete $h{ $k }; } }