мой вопрос в том, НАДЕЖНО простой., объявляющие глобальные подпрограммы perl или глобальные псевдонимы
В Perl, как создать глобальную подпрограмму, доступную для всех объектов после этого?
sub throw
{
die(shift);
}
Кажется, что он работает в глобальном масштабе, но впоследствии не доступен для пакетов. Я хотел бы избежать делать что-то вроде объявления в каждом объекте в стеке приложений.
Боковое решение: как создать псевдоним для глобального ключевого слова, например, умереть?
Обратите внимание: мне все равно, что делать что-то подобное считается лучшей практикой. Хотя они выполняют одну и ту же функцию в Perl, die не бросает, а бросок не умирает. Следующий синтаксис не следовать принципам объектно-ориентированного программирования, что я пытаюсь следовать:
die new Exception($message);
Однако логически подобное, с целью бросать исключения, я бы предпочел синтаксис:
throw new Exception($message);
Огромное спасибо сообществу stackoverflow!
Пожалуйста, не пишите 'новый Classname'. В Perl 'new' - это просто имя метода, а не ключевое слово, и оно может запутать интерпретатор. Вместо этого используйте 'Exception-> new ($ message)'. –