in reply to Extract Block Of Text From Log

Your while loop is handling blocks, not lines in each block. One fix is:

#!/bin/perl use strict; use warnings; local $/ = "END OF REPORT\n"; while (<DATA>) { my @lines = split /\n/; for (@lines) { print if /\*\sparameters after change\s\=/ .. /\*\sNRG locatio +n\s\=/; } } __DATA__ <13>Nov 13 17:27:25 OamCOMM[12260]: TIMESTAMP=Tue Nov 13 17:27:25 2018 MSGCLS=OAMOPE Title=OAM Create OPERATION Severity=Inform ...

or just:

#!/bin/perl use strict; use warnings; while (<DATA>) { print if /\*\sparameters after change\s\=/ .. /\*\sNRG location\s\ +=/; } __DATA__ <13>Nov 13 17:27:25 OamCOMM[12260]: TIMESTAMP=Tue Nov 13 17:27:25 2018 ...
Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond