my @lengths = qw/1 20 20 5/; #inside some looplike thing my @array = (); push @array, substr( $line, 0, $_, '' ) for @lengths; print join "\t", @array; } #### my @array= unpack 'a1a20a20a5', $line;