[Moscow.pm] Module::Loaded

Nikita Zubkov nikzubkov на gmail.com
Ср Окт 26 07:11:22 PDT 2011


А почему бы не делать как в base.pm?

                local $SIG{__DIE__};
                eval "require $base";
                # Only ignore "Can't locate" errors from our eval require.
                # Other fatal errors (syntax etc) must be reported.
                die if $@ && $@ !~ /^Can't locate .*? at \(eval /;

26 октября 2011 г. 11:09 пользователь Ivan Petrov
<i.petro.77.00 на gmail.com> написал:
> нужно написать некий функционал в стиле 'use base "Module"';
>
> соответственно хочется чтобы этот модуль делал 'require Module'.
>
> вроде все просто, однако хочется чтобы работало и с пакетами, которые
> не выделены в модули
>
> если пишем
>
> use Module::Loaded;
> use Module::Load;
>
> unless (loaded $module) {
>    load $module;
> }
>
> то load естественно обламывается в случае если передается имя пакета,
> который определен прямо в main::.
>
> Понятно что можно поглядеть в пространство имен есть ли уже такой
> пакет или нет.
>
> но вот интересно, может стандартное есть что-то на эту тему чтобы
> велосипед не городить?
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


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