#/usr/bin/perl use Algorithm::Loops qw( NestedLoops ); my @list = ( [12,13,14,15], [6000,6001,6002,3150,3152], ['314456 C', '314484 D']); my $i = NestedLoops(\@list); while (my @set = $i->()) { print(join(',', @set), "\n"); }