in reply to file reading issues

The .. (dot-dot) operator was designed for this:
while (<>) { if (/<!-- Begin -->/ .. /<!-- End -->/) { print; } }

Or, more concisely:

(/<!-- Begin -->/ .. /<!-- End -->/) && print while (<>);

See Range Operators in perlref(1) for more information.