sub get2DArray { my( $x, $y, $templ, $templSize, $fh ) = @_; my @array; for my $y ( 0 .. $y - 1 ) { push @array, [ unpack $templ . $x, read( $fh, $templSize * $x ) ]; } return \@array; } my $array2D = get2DArray( 100, 100, 'N', 4, $fh );