in reply to Seeking best approach to column parsing

My favorite method - build a two dimensional array in one go.
use strict; use Data::Dumper; my @elements = map { /^\s*$/ ? () : [split /\s+/] } <DATA>; print Dumper(\@elements); __DATA__ 1 1234 gg123456789 000-12345-1234-111 12 1234 gg123456789 000-12345-1234-111 123 1234 gg123456789 000-12345-1234-111
And the output -
$VAR1 = [ [ '1', '1234', 'gg123456789', '000-12345-1234-111' ], [ '12', '1234', 'gg123456789', '000-12345-1234-111' ], [ '123', '1234', 'gg123456789', '000-12345-1234-111' ] ];