As near as I can tell, no built-in function listed in index-functions has a prototype (just checked) and some of these behave more normally with regards to return. For instance, both map and sort are on that list. Neither map nor sort have defined prototypes, but sort treats the return inside the block as if it were returning from a subroutine, just like my custom sub foo above.
# no compile problems here!
my @x = sort { return $a <=> $b; } (3, 2, 1);
print "sorted: (@x)\n";
#prints: sorted (1, 2, 3)
Best, beth
Update: Struck out incorrect portion of post - forgot to include "CORE::" in the function name, as pointed out by Anonymous Monk below.