my $zero = ''; vec($zero, 48 + $#cards, 1) = 0; solve($zero); print "No solution found\n"; exit; sub solve { my($state, @placed) = @_; my $this_place = @placed; if($this_place == 9) { print "Solution:\n"; print "$vec_desc{$_}\n" foreach @placed; print "\n"; exit; } # Insert generic exact cover solver here }