Модуль My_Module
(используется в этом пакете) use
s Сигналы :: XSIG и устанавливает $XSIG{'WINCH'}[1] = sub { ... };
use warnings;
use 5.014;
package Auto_sid;
use Exporter 'import';
our @EXPORT = qw(something);
use My_Module;
no warnings qw(redefine);
sub My_Module::list_to_big {
my ( @arguments ) = @_;
require Signals::XSIG;
Signals::XSIG->import(%Signals::XSIG::XSIG);
@{$Signals::XSIG::XSIG{'WINCH'}} = ();
no Signals::XSIG;
# ...
# do something that My_Module normaly doesn't do and
# which doesn't work when modified $SIG{'WINCH'}
# ...
}
Когда я использую это, я получаюмного сообщений об ошибках, таких как:
"NUM63" is not exported by the Signals::XSIG module
"ARRAY(0xc23180)" is not exported by the Signals::XSIG module
"TRAP" is not exported by the Signals::XSIG module
"ARRAY(0xc119c8)" is not exported by the Signals::XSIG module
...
Когда я использую use
вместо require
, он работает нормально.
Почему это не работает с require
?