in reply to Re: Perl ARRAY() result
in thread Perl ARRAY() result

OK stevieb, here is the original OP code with only the print statement corrected as described in my first post. A sample execution demonstrates that the expected output is produced.
>type pviki.pl use strict; use warnings; sub Solve { my ($goal, $elements) = @_; # For extra speed, you can remove this next line my (@results, $RecursiveSolve, $nextValue); $RecursiveSolve = sub { my ($currentGoal, $included, $index) = @_; for ( ; $index < @$elements; ++$index) { $nextValue = $elements->[$index]; # Since elements are sorted, there's no point in trying a # non-final element unless it's less than goal/2: if ($currentGoal > 2 * $nextValue) { $RecursiveSolve->($currentGoal - $nextValue, [ @$included, $nextValue ], $index + 1); } else { #print "@$_\n", [ @$included, $nextValue ] local $, = q(, ); print @$included, $nextValue, "\n" if $currentGoal == $nextValue; return if $nextValue >= $currentGoal; } } # end for }; # end $RecursiveSolve $RecursiveSolve->($goal, [], 0); undef $RecursiveSolve; # Avoid memory leak from circular reference return @results; } # end Solve my @results = Solve(869, [15, 43, 51, 56, 60, 67, 122, 152, 193, 204, +229, 271, 293, 301] ); >perl pviki.pl 15, 43, 51, 56, 60, 122, 229, 293, 15, 43, 51, 56, 204, 229, 271, 15, 43, 51, 67, 193, 229, 271, 15, 43, 51, 122, 152, 193, 293, 15, 56, 60, 67, 122, 152, 193, 204, 15, 56, 60, 122, 152, 193, 271, 15, 56, 204, 293, 301, 15, 67, 193, 293, 301, 43, 51, 56, 67, 122, 229, 301, 43, 51, 56, 67, 152, 229, 271, 43, 51, 60, 193, 229, 293, 43, 122, 204, 229, 271, 56, 60, 67, 122, 271, 293, 56, 67, 152, 293, 301,
Bill