in reply to split based upon string
You could try something like
my(@all, $cur); while (<DATA>) { if ($_ =~ /\ADELIMITING_TEXT\Z/) { push @all, $cur; $cur = ""; } else { $cur .= $_; } } push @all, $cur; [download]
The output is in @all then.