my $re = join '|', map "($_)", qw[ab ac ad ba bla etc]; for (qw[tab act mad bar blank fetch]) { printf "%-6s %-4s %d\n", $_, $+, $#- if /$re/; } #### tab ab 1 act ac 2 mad ad 3 bar ba 4 blank bla 5 fetch etc 6