use Switch::Perlish; switch $var, sub { case sub { $_[0] > 9 }, sub { warn "$var>9"; fallthrough }; case 9, \&found_it; default \¬_found; };