in reply to reading input into a number of arrays
A simpler way to populate your AoA avoiding C-style loops.
use strict; use warnings; use Data::Dumper; open my $inFH, q{<}, \ <<__EOD__ or die $!; 1111111 2222222 3333333 __EOD__ my @AoA; my $x = 0; while ( <$inFH> ) { chomp; $AoA[ $x ++ ] = [ undef, split m{} ]; } close $inFH or die $!; print Data::Dumper->Dumpxs( [ \ @AoA ], [ qw{ *AoA } ] );
The output.
@AoA = ( [ undef, '1', '1', '1', '1', '1', '1', '1' ], [ undef, '2', '2', '2', '2', '2', '2', '2' ], [ undef, '3', '3', '3', '3', '3', '3', '3' ] );
I hope this is useful.
Update: Even simpler would be to use push and avoid the counter entirely.
use strict; use warnings; use Data::Dumper; open my $inFH, q{<}, \ <<__EOD__ or die $!; 1111111 2222222 3333333 __EOD__ my @AoA; while ( <$inFH> ) { chomp; push @AoA, [ undef, split m{} ]; } close $inFH or die $!; print Data::Dumper->Dumpxs( [ \ @AoA ], [ qw{ *AoA } ] );
Cheers,
JohnGG
In Section
Seekers of Perl Wisdom