Есть ли в Perl псевдоним для ссылки на имя модуля? - PullRequest
4 голосов
/ 28 сентября 2011

У меня есть несколько модулей Perl. Названия пакетов кажутся большими

каждый раз, когда я получаю доступ к функциям из этих модулей, мне нужно предоставить что-то вроде этого

&PackageName::Functionname()

есть ли в Perl ярлык или псевдоним, который может ссылаться на пакеты с большими именами

Спасибо

Karthik

Ответы [ 2 ]

9 голосов
/ 28 сентября 2011

С помощью Package::Alias вы можете присвоить псевдониму длинное имя пакета, например от Foo::Bar::Baz до baz:

use Package::Alias 'baz' => 'Foo::Bar::Baz';

baz::quux;  # Invokes Foo::Bar::Baz::quux;
5 голосов
/ 28 сентября 2011

Вы можете вызывать функцию без &:

PackageName::Functionname();

Также есть механизм экспорта, который экспортирует функцию из модуля в ваше пространство имен по умолчанию:

use PackageName 'Functionname';

Functionname();

Длядальнейшие пояснения по использованию use см. http://perldoc.perl.org/functions/use.html

Как экспортировать функции при написании собственных модулей, см. http://perldoc.perl.org/Exporter.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...