in reply to Multiple Line Regex Not Working

G'day ImJustAFriend,

Instead of reading one line at a time, you could read one chunk at a time by setting $/ (see perlvar: $/).

Here's a quick-and-dirty example script to demonstrate the technique. I pared down your posted data substantially; duplicated it; then labelled with "CHUNK 1" and "CHUNK 2".

#!/usr/bin/env perl use strict; use warnings; { local $/ = "\nMessage Id"; while (<DATA>) { chomp; /^message=(.*)\z/ms && print "$1\n"; } } __DATA__ <13>Nov 15 21:26:00 OamCOMM[365626]: TIMESTAMP=Thu Nov 15 21:26:00 2018 ... Severity=Inform message={username:xxxxxxx... causeDISTINGUISH_NAME=... ... CHUNK 1 ... label=x } Message Id=xxxxxxxx <13>Nov 15 21:26:00 OamCOMM[365626]: TIMESTAMP=Thu Nov 15 21:26:00 2018 ... Severity=Inform message={username:xxxxxxx... causeDISTINGUISH_NAME=... ... CHUNK 2 ... label=x } Message Id=xxxxxxxx

Output:

{username:xxxxxxx... causeDISTINGUISH_NAME=... ... CHUNK 1 ... label=x } {username:xxxxxxx... causeDISTINGUISH_NAME=... ... CHUNK 2 ... label=x }

— Ken