[perl][再帰]
use strict; use warnings; my @data = ( [qw/1 2 3/], [qw/1 2 3/], [qw/1 2 3/], ); &loop(0); sub loop { my ($index,@nums) = @_; unless( $data[$index] ) { print join("\t",@nums) . "\n"; return; } for my $v ( @{$data[$index]} ) { &loop($index+1,(@nums,$v)); } }