#!/usr/bin/perl use strict; use warnings; sub zup { join "\n", map { my $i = $_; join ' ', map $_->[ $i ], @_ } 0 .. $#{ $_[0] } } my @array1 = qw /ab bc cd de/; my @array2 = qw /cc dd ee gg/; my @array3 = qw /12 34 56 78/; print zup \(@array1, @array2, @array3); print "\n"; print zup \(@array1, @array2, @array3); print "\n"; __END__ ab cc 12 bc dd 34 cd ee 56 de gg 78 ab cc 12 bc dd 34 cd ee 56 de gg 78