use List::MoreUtils qw/last_index/; my @vacation_skip = (7, 15, 20, 21, 22, 23, 25, 31); my $search_for = 18; my $found = last_index { $_ <= $search_for } @vacation_skip; if ($found % 2 == 0) { print "vacation\n"; } else { print "work day\n"; }