|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 15 Dec 2002 15:53:14 To : Vadim Belman Subject : Re: вопрос про @EXPORT --------------------------------------------------------------------------------
Vadim Belman wrote:
>>и наслаждайтесь результатом. А для остальных задачка на знание perl -
>>как это все работает и почему такие сложности :)
>
>
> Решил, все же, попробовать. Получилось значительно короче и аккуратнее:
>
> ===> Cut <===
> package TST;
> use strict;
> use Exporter;
> use vars qw(
> @ISA
> @EXPORT
>
> %dyk
> $jok
> @tst
> );
> @ISA = qw(Exporter);
> @EXPORT = map {"*$_"} grep {!/^(?:ISA|EXPORT)$/} keys %TST::;
>
> sub tst
> {
> print "Ahem...\n";
> }
>
> 1;
> ===> Cut <===
>
> А было-бы желание и ISA с EXPORT наружу выставить, можно и grep убрать!
> 8)))
И у Вас и у предыдущего автора происходит экспорт _всего_ глоба, что
некорректно ибо никто этого не просил и могут быть побочные эффекты.
Представьте, что Вы подключаете два модуля, в одном есть sub xx, а
в другом $xx...
Андрей
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577927fd0a6.html, оценка из 5, голосов 10
|