in reply to Storing Lines before and After pattern
Because of $` and $' overhead, this is an ideal place for split:
open ($fh, "<poem") or die "Couldn't Open!"; $poem = do{ local $/; <$fh> }; ($before, $match, $after} = split /(DOG)/, $poem;
In Section
Seekers of Perl Wisdom