http://qs321.pair.com?node_id=344274


in reply to Re: Re: CamelTrouble
in thread CamelTrouble

Well, I haven't read all of your code, so I can't say authoritatively that I know exactly what the bug is, but i have read the good_ones_go funtion, and fortunately your program is nice and moduler, and your variables names are fairly clear, (the only thing i needed to look up anywhere else in the script is what "@good_ones" contains, and what you pass to "good_ones_go" when you call it) so I think I have a pretty good idea what's going wrong.

Rather then just fixing it for you, let me ask you a question, what happens if you run this script....

# perl use warnings; use strict; my @good_ones = (100..110); foreach (0..$#good_ones) { print "$_: $good_ones[$_] ..."; if (rand() < 0.5) { splice @good_ones,$_,1; } print "($#good_ones)\n"; }

(PS: you may be tempted to "fix" your script by adding a single call to "last;" ... I wouldn't recommend that. Consider what would happen if the camel moves one pixel, and that puts him close enough to pick up two monks.)