open(FG,"$ARGV[0]") || die &writelog(1,"INFO: processfile_rt: Unable to open log file: $!"); my $str = ; while($str =~ /Message dump:((?:(?!Message dump:).)*)/gs) { print "$1\n"; } #### Message dump: 460 05/12/21 11:41:18:000 Sent FIX Message Message dump: 461 05/12/21 11:41:23:593 Received FIX message Message dump: 462 05/12/21 11:41:48:093 Sent FIX Message Message dump: 463 05/12/21 11:41:55:625 Received FIX message Message dump: 464 05/12/21 11:42:18:015 Sent FIX Message Message dump: 465 05/12/21 11:42:27:531 Received FIX message Message dump: