in reply to Can't "next" outside a loop block

Like everybody else said, there are better ways to do this. I'd just like to note that if you, for some reason, don't want to use any of the normal looping constructs, you can use a do{} with no while() clause:

sub NEXTKEY { my $self=shift; my $lastkey=shift; do { $key=$KEYS[$self->{INDEX}++]; next if ($key eq $self->{FIRSTKEY}); return($key); } }


Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).