until(@answer) { my $iter = combinations(\@array2,$Fcount); while (my $p = $iter->next) { until(@answer) { my @forward = @$p; my $number1 = 1; my $number2 = 2; if ($forward[$number1] < $forward[$number2]) { $number1++; $number2++; } else { last; } if ($number2 = (scalar(@forward)+1)) { push @answer, @$p; print "@$p\n"; last; } } } $Fcount = ($Fcount - 1); }