cat A.pm
package A;
sub import { printf "import A: %s\n", join " ", @_; }
print "== A ==\n";
1;
забыл привести A.pm
впрочем из теста видно :)
Tmppo> apache:[~]$ cat AA.pm
Tmppo> package AA;
Tmppo> use A from => 'AA';
Tmppo> sub import { printf "import AA: %s\n", join " ", @_; }
Tmppo> print "== AA ==\n";
Tmppo> 1;
Tmppo> apache:[~]$ cat test.pl
Tmppo> use warnings;
Tmppo> use strict;
Tmppo> use A from => 'main';
Tmppo> use AA from => 'main';
Tmppo> print "main\n";
Tmppo> apache:[~]$ perl test.pl
Tmppo> == A ==
Tmppo> import A: A from main
Tmppo> import A: A from AA
Tmppo> == AA ==
Tmppo> import AA: AA from main
Tmppo> main
Tmppo> то есть в импорте имеем имя текущего модуля и параметры импорта.
Tmppo> А как узнать в этой функции ИЗ какого модуля нас экспортируют?
Tmppo> то есть чтобы нечто вроде сборщика статистики пишется, хочется
Tmppo> чтобы написали в модуле use blah;
Tmppo> и далее print blah->foos;
Tmppo> вывели перечень функций в ДАННОМ модуле.
Tmppo> соответственно для реализации такой возможности нужно в импортируемом
Tmppo> знать откуда нас импортируют
Tmppo> КАК?
Tmppo> --
Tmppo> ... mpd is off
Tmppo> . ''`. Dmitry E. Oboukhov
Tmppo> : :’ : email: [EMAIL PROTECTED] jabber://[EMAIL PROTECTED]
Tmppo> `. `~’ GPGKey: 1024D / F8E26537 2006-11-21
Tmppo> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
--
... mpd is off
. ''`. Dmitry E. Oboukhov
: :’ : email: [EMAIL PROTECTED] jabber://[EMAIL PROTECTED]
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
signature.asc
Description: Digital signature
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
