За счет указания очевидного, лучший способ вернуться к подпрограмме - ......
return
Если в вопросе нет какой-то скрытой тонкости, которая не прояснена
Редактировать - возможно, я вижу, что вы получаете на
Если вы пишете цикл, то правильным способом выхода из цикла является использование last
use strict ;
use warnings ;
while (<>) {
last if /getout/ ;
do_something() ;
}
Если вы реорганизуете это, вы можете использовать последний для выхода из подпрограммы.
use strict ;
use warnings ;
while (<>) {
process_line() ;
do_something() ;
}
sub process_line {
last if /getout/ ;
print "continuing \n" ;
}
Это означает, что вы используете last
там, где вы должны использоватьreturn
и если у вас есть ошибки на месте, вы получите ошибку:
Exiting subroutine via last at ..... some file ...