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} ] );