use warnings; use strict; use List::MoreUtils qw (any); my $var = 3; if (grep { $var == $_ } 2, 3) { print "in list\n"; } else { print "not in list\n"; } if (any { $var == $_ } 2, 3) { print "in list\n"; } else { print "not in list\n"; } my %vals = map {$_ => 1} 2, 3; if (exists $vals{$var}) { print "in list\n"; } else { print "not in list\n"; } __END__ in list in list in list