Besides being very likely both longer to type and longer to run, you've also made it less portable, because delete @hash{@list} wasn't added until perl 5.6, if I recall. It might have been 5.5, but it's still a "relatively recent invention" as I often say.