my $r = q/Capri|Classic/; my $d= {capri => sub {print $_[0]}, somethingelse => sub { print 'handler for something else'} }; $r=~m/($_)/i and $d->{$_}->($1) for keys %$d ; #-- prints "Capri"