in reply to Matching across multiple lines

Although your regex will match across multiple lines, you are only reading the file a line at a time so at any given time $_ will contain 'Start' or 'End', but not both.

Perhaps you want to consider reading the whole file into memory and running the regex against the whole thing in one go. Or perhaps you can do something with the flipflop operator.

while (<>) { if (/Start/ .. /End/) { # do something } }
--
<http://www.dave.org.uk>

"The first rule of Perl club is you do not talk about Perl club."
-- Chip Salzenberg