my $arr1 = [[qw/name pos loc age/], [qw/ike boss 12 44/], [qw/mat slave 22 21/]]; my $arr2 = [[qw/car dog age/], [qw/a1 grr 3/]]; #...magic goes here and we want: my $arrMighty = [[name, pos, loc, age, car, dog], [ike, boss, 12, 44, "", ""], [mat, slave, 22, 21, "", ""], ["", "", "", 3, a1, grr]];