use strict; use warnings; use Data::Dumper; open my $inFH, q{<}, \ < ) { my @lines = split m{\n}; push @block, [ @lines[ 1 .. $#lines - 1 ] ]; } close $inFH or die qq{close: $!\n}; print Data::Dumper->Dumpxs( [ \ @block ], [ q{*block} ] ); #### @block = ( [ '1 2 3 4 5 6 7', 'a bb ccc ddd', '9 8 7 6 5' ], [ '4.9 5.3 9.1', 'biff baff boff' ] );