in reply to next within one subroutine that looks to another subroutine

I suspect what you are looking for is really something that passes this:

sub action { for my $i(@list) { &decide($i); print "Decide sub didn't call next!\n"; } }

While I hate the idea of using labels, you could use them here:

sub foo { next I; }; I: foreach my $a ( 1..5 ) { print "$a\n"; &foo(); print "$a\n"; }
Output:

1
2
3
4
5

Your other option (better style IMHO) would be to evaluate the return code of decide in your action sub and call next based on that.