use List::MoreUtils qw(any); my %hash = ( ytd => 1.5, mtd => 2.0, wtd => 2.5, Jumbo_Tron => "United Center", Meat_Pie => "Gross", "Word" => "Association", ); my @do_not_want = ( qr/ytd/, qr/mtd/, qr/wtd/ ); foreach my $k (keys %hash) { next if any { $k =~ $_ } @do_not_want ; print "$k => $hash{$k}\n"; }