in reply to Re: Re: split and sysread()
in thread split and sysread()

Well, to speed up your regex as much as possible, you must make it so that there is as little possibility for backtracking as possible. Try something like:
my $r = join "[|]" => ("([^|]*)") x 31; while (/^$r\n/mg) { ... }

This (untested) code sets $1 through $31.

Abigail