#!/usr/bin/perl -w use strict; use Algorithm::Loops qw( NestedLoops ); my @symbol = qw(0 1 2 3 4 5 6 7 8 9); my @position; for my $deepness (0..6) { push @position, [@symbol]; } my @list; my $iter = NestedLoops(\@position); while (@list = $iter->()) { print "@list\n"; }