Вам не нужно разбирать файл построчно - вы можете читать весь файл сразу, если он маленький, или вы можете разбирать его по абзацам, используя любой разделитель, какой захотите.
Две магические вещи, которые вам нужно сделать, это: 1. установить переменную «разделитель строк», $/
(см. perldoc perlvar ), что-то другое, чем перевод строки, и 2. включить сопоставление многострочных регулярных выражений с модификатором /s
(см. perldoc perlre ).
В качестве альтернативы вам следует использовать анализатор HTML, что вам и нужно делать, если вы пытаетесь найти такие вещи, как вложенные теги.