@X = ("X1","X2","X3");
@Y = ("Y1","Y2","Y3");
@Z = ("Z1","Z2","Z3");
$HDR_SCHEMA_XY = "X::Y";
print_combinations($HDR_SCHEMA_XY);
$HDR_SCHEMA_XYZ = "X::Y::Z";
print_combinations($HDR_SCHEMA_XYZ);
sub print_combinations {
my $sub_hdrs = shift;
my @sub_hdrs = split(/::/,$sub_hdrs);
my $subh_count=0;
foreach my $i (@sub_hdrs) {
@{"array_".$subh_count} = @{ $i };
$subh_count++;
}
gen_loops(2,\@array_0,\@array_1);
}
sub gen_loops {
my $loop_count = shift;
if ($loop_count==0) {
print join "+",@_,"\n";
} else {
for my $i ( @{ shift() } ) {
gen_loops($loop_count-1,$iter_count,@_,$i)
}
}
}
|