#!/usr/bin/perl # http://perlmonks.org/?node_id=1176395 use strict; use warnings; my @array; $array[0]="0\n1\n2\n3\n"; $array[1]="4\n5\n6\n"; $array[2]="7\n8\n"; $array[3]="9\n"; my @result; for my $start (0..$#array) { my $to = $start; $result[$to++] .= "\t" x !!$start . $1 while $array[$start] =~ /(.+)\n/g; } print "$_\n" for @result; #### 0 1 4 2 5 7 3 6 8 9