if ($text =~ /($searchString)/) { $_ = $1; s/!CR!/\n/g; print "$_\n"; } else { print "No match\n"; } #### $searchString : (?:.(?!!CR!))*.?-------(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?node(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?id(?:.(?!!CR!))*.?NEW ALERT(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?borg(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?subsys(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?severity(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?nohup(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?Id(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?Team(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?!CR!(?:.(?!!CR!))*.?REPORT(?:.(?!!CR!))*.?Resource(?:.(?!!CR!))*.?slow -(?:.(?!!CR!))*.? $text : ------------------------------------------------------------!CR!!CR!11/19/2001 16:20:23!CR!node_name[sanitized]!CR!id[987987] NEW ALERT!CR!borg[this.also.sanitized]!CR!subsystem[this.too] ERR-5555!CR!severity[warning] group[sanitized-host]!CR!!CR!nohup /usr/local/bin/notreal!CR!Id: 987987!CR!Team[TEST_Services]!CR!!CR!ACTION: Send Voice Mail to [555-3423 555-9922]!CR!REPORT: Process syslog has crashed " garbage garbage!CR!------------------------------------------------------------!CR!!CR!