На самом деле у тебя 2 задачи: 1) вернуться в определенное место кода и почистит стек 2) передать данные Для 1) подойдёт: last МЕТКА eval+die goto МЕТКА
Для 2) подойдёт: eval+die Передавать какую-то ссылку через все функции, чтобы положить туда результат, к примеру $self. Положить в какую-то глобальную переменную ср, 18 дек. 2024 г., 12:18 Иван Бессарабов via Moscow-pm <[email protected]>: > goto — сделает ровно то что хочется. > > Все зависит от задачи, но вообще, обычно, считается что goto — это плохо. > Так что может быть, нужно как-то пересмотреть условие задачи и переделать > код так чтобы не было необходимости в использовании goto. > > Пример с goto: https://PerlBanjo.com/95d448df64 > > > On Wed, Dec 18, 2024 at 8:03 AM Alessandro Gorohovski via Moscow-pm < > [email protected]> wrote: > >> Уважаемое сообщество, приветствую! >> >> Подскажите, может кто-нибудь знает, >> способ глобально выйти (сделать return) из вложенных подпрограмм >> (функций) по метке, >> т.е. аналогично *last* для управления циклом >> ? >> >> Например: >> >> _Metka: >> &aaa( @args ); >> >> $@ && say $@; >> exit; >> #-------------------- >> sub aaa { >> # ... >> &bbb; >> # ... >> } >> #-------------------- >> sub bbb { >> # ... >> &ccc; >> # ... >> } >> #-------------------- >> sub ccc { >> # ... >> &ccc; >> # ... >> $@ = $results; >> return _Metka; >> } >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org >> > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
