http://www.perlmonks.org?node_id=1054522


in reply to Re^2: Checking a hash for two matching values.
in thread Checking a hash for two matching values.

It's easy enough to add case insensitivity to NetWallah's code with fc or lc.

For v5.16 or newer:

use v5.16; ... my @found= grep { my %r = reverse map fc, %$_; exists $r{cat} && exists $r{dog} } @pets;
For older versions as well:
my @found= grep { my %r = reverse map lc, %$_; exists $r{cat} && exists $r{dog} } @pets;