, , :
use strict;
use warnings;
local $/ = "\n\n";
while (my $line = <DATA>)
{
my ($id) = ($line =~ /^---id-(\d+)--$/m);
my @messages = ($line =~ /^Message: (.*)$/mg);
print "On line $id, found these messages: ", join(', ', @messages), "\n";
}
__DATA__
---id-1--
Header: data
Another Header: more data
Message: sdasdasdasd
Message: asdasdasdasd
Message: asdasdasd
---id-2--
Header: data2
Another Header: stuff
Message: more message
Message: another message
Message: YAM
, :
On line 1, found these messages: sdasdasdasd, asdasdasdasd, asdasdasd
On line 2, found these messages: more message, another message, YAM