Hi again, I'm having trouble seeing module changes when I reload a script that uses it. I'm using Apache::Reload and my test script/module is as follows:
test.pl -------------------- #!/usr/local/bin/perl use strict; use warnings; use My::Test qw(:subs); print "Content-type: text/plain\r\n\r\n"; &test1(); -------------------- Test.pm -------------------- package My::Test; use strict; use warnings; BEGIN { use Exporter (); our (@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(Exporter); @EXPORT = qw(); @EXPORT_OK = qw(); %EXPORT_TAGS = ( subs => [qw(test1)], ); Exporter::export_ok_tags('subs'); } sub test1 { print "In test1 func\n"; } 1; -------------------- When I modify sub test1, and I reload - no changes appear in the browser. The following gets printed to error_log: Subroutine test1 redefined at /export/home/httpd/cgi-bin/My/Test.pm line 22. When I touch test.pl - the changes appear. The following gets printed to error_log: Subroutine test1 redefined at /export/home/httpd/cgi-bin/My/test.pl line 5 Finally, if I add a new subroutine test2 to Test.pm, export it, and update the test.pl script to call test2, the script fails with an Internal Server Error. The following gets printed to error_log: "test2" is not exported by the My::Test module at /export/home/httpd/cgi-bin/My/test.pl line 5 [Wed May 22 15:26:12 2002] [error] Can't continue after import errors at /export/home/httpd/cgi-bin/My/test.pl line 5 BEGIN failed--compilation aborted at /export/home/httpd/cgi-bin/ My/test.pl line 5. Then, when I restart the server, the script runs fine. Thank you for any help you can provide, Ted