[Moscow.pm] аналог goto?

Vladimir V. Perepelitsa inthrax на gmail.com
Пт Янв 16 02:16:33 PST 2009


Есть Sub::Uplevel

более удобная форма, плюс вызвав CORE::caller можно узнать реальный стек

On Friday 16 January 2009 13:08:33 Dmitry E. Oboukhov wrote:
> я тут продолжаю доводить до ума свой профайлер, видимо
> скоро уже попадем на cpan...
>
> есть у perl'ового goto замечательная форма
>
> goto &sub
>
> она очень похожа на функцию exec, токма между перловыми
> функциями работает.
>
>
> sub wrapper
> {
>         наш код
>         ..
>
>         goto &w_ed_sub;
> }
>
> то в этом случае в w_ed_sub вызывая caller нельзя будет узнать
> что функция была вызвана через wrapper.
>
> соответственно это очень полезно было бы при профайлинге, ибо
> в некотором количестве модулей работа некоторых функций
> опирается на результаты вызова caller и получается профайлер
> с такими конфликтует.
>
> посмотрел я в код DProf и некоторых других профайлеров, везде
> тупо составляют список "плохих" модулей и их не профайлят.
>
> вопрос, есть какие-либо идеи как написать аналог такого goto,
> но чтобы по завершению функции получить обратно управление?



-- 
Vladimir Perepelitsa aka Mons Anderson
<inthrax на gmail.com> / #99779956


Подробная информация о списке рассылки Moscow-pm