perl -le '@l = 1..5; @s = map{last if $_==4;++$_} @l;print "@s"' Can't "last" outside a loop block at -e line 1. perl -le '@l = 1..5; @s = map{return if $_==4;++$_} @l;print "@s"' Can't return outside a subroutine at -e line 1.