@array1 = ('a','b','c'); @array2 = ('a','b'); @array3 = ('a','b','c','d'); #### #! /usr/bin/perl use warnings; use strict; use Syntax::Construct qw{ // }; my @array1 = ('a','b','c'); my @array2 = ('a','b'); my @array3 = ('a','b','c','d'); while (@array1, @array2, @array3) { print join ', ', map shift @$_ // 'NULL', \@array1, \@array2, \@array3; print "\n"; }