in reply to Looking for a good way to split a file into equal sized arrays
use strict; use warnings; use Data::Dumper; open my $inFH, q{<}, \ <<END_OF_FILE or die qq{open: $!\n}; START DATA 1 2 3 4 5 6 7 a bb ccc ddd 9 8 7 6 5 END DATA START DATA 4.9 5.3 9.1 biff baff boff END DATA END_OF_FILE my @block = (); local $/ = qq{END DATA\n}; while ( <$inFH> ) { 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} ] );
The output is:-
@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' ] );
I hope this is of use.
Cheers,
JohnGG
|
|---|