in reply to Re: Regex not greedy enough
in thread Regex not greedy enough

Use japhy's suggestion and add a newline to your string:
@records = split /(?=\nrecord)/, ("\n" . $data);
...that way you get the necesary first newline in the regex for the first record.

Crude, but effective :)