Hello,
I've been using a logging module "LogFile.pm" introduced in the book;
「Network Programing With Perl」
ISBN:4894714655 (2002/12)
for a long time thanks to L.D.S., though in modified by myself.
Now when I call Archive::Tar:read, "IO::Zlib.pm" issues warning mesgs.
It can be off'ed by "undef $SIG{__????__}" temporarily, but I can't
dertermine which CPAN modules must be treated as such.
Is there any good work-around?
<exec>
------------------------------------------------------------
C:>test_tar_ng.pl
(log_info called) start test_tar_ng.pl .....
(log_info called) SIG set ok
(log_info called) Archive::Tar new.
(log_info called) tar read, NOT clear SIG.
(log_die called) Not a GLOB reference at C:/Perl/lib/IO/Zlib.pm line 566.
(log_die called) Not a GLOB reference at C:/Perl/lib/IO/Zlib.pm line 566.
(log_die called) Not a GLOB reference at C:/Perl/lib/IO/Zlib.pm line 566.
(log_die called) Not a GLOB reference at C:/Perl/lib/IO/Zlib.pm line 566.
(log_die called) Not a GLOB reference at C:/Perl/lib/IO/Zlib.pm line 566.
(log_info called) list_files.
(log_info called) ok
(log_info called) list_files: 'A1.txt B1.txt C1.txt'
C:>test_tar_ok.pl
(log_info called) start test_tar_ok.pl .....
(log_info called) SIG set ok
(log_info called) Archive::Tar new.
(log_info called) tar read, clear SIG.
SIG restored.
(log_info called) list_files.
(log_info called) ok
(log_info called) list_files: 'A1.txt B1.txt C1.txt'
<test_tar_ng.pl>
------------------------------------------------------------
#!Perl
# test_tar_ng.pl
use strict;
use Archive::Tar;
log_info("start test_tar_ng.pl .....\n");
$SIG{__WARN__} = \&log_warn;
$SIG{__DIE__} = \&log_die;
log_info("SIG set ok\n");
log_info("Archive::Tar new.\n");
my $tar = Archive::Tar->new();
log_info("tar read, NOT clear SIG.\n");
$tar->read('test1.tar.gz', 1);
log_info("list_files.\n");
my @files = $tar->list_files();
log_info("ok\n");
log_info("list_files: '@files'\n");
exit;
sub log_info {
print "(log_info called) @_";
}
sub log_warn {
print "(log_warn called) @_";
}
sub log_die {
print "(log_die called) @_";
}
__END__
<test_tar_ok.pl>
------------------------------------------------------------
#!Perl
# test_tar_ok.pl
use strict;
use Archive::Tar;
log_info("start test_tar_ok.pl .....\n");
$SIG{__WARN__} = \&log_warn;
$SIG{__DIE__} = \&log_die;
my $w = $SIG{__WARN__};
my $d = $SIG{__DIE__};
log_info("SIG set ok\n");
log_info("Archive::Tar new.\n");
my $tar = Archive::Tar->new();
log_info("tar read, clear SIG.\n");
undef $SIG{__WARN__};
undef $SIG{__DIE__};
$tar->read('test1.tar.gz', 1);
$SIG{__WARN__} = $w;
$SIG{__DIE__} = $d;
print "SIG restored.\n";
log_info("list_files.\n");
my @files = $tar->list_files();
log_info("ok\n");
log_info("list_files: '@files'\n");
exit;
sub log_info {
print "(log_info called) @_";
}
sub log_warn {
print "(log_warn called) @_";
}
sub log_die {
print "(log_die called) @_";
}
__END__
Regards,
Hirosi Taguti
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs