You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Kiran Kumar <mk...@gmail.com> on 2009/08/27 02:07:54 UTC

PerlRun Subroutine redefine warnings

Hi,
  I am running mod_perl/2.0.4 on Linux , I keep getting the subroutine
redefined warnings. Perlrun reloads the cgi on each request so why do
I keep getting these warnings ? Is there any other way to avoid this
other than no warnings qw/redefine/ in my scripts. Am I missing
something here ?.

  Here is a minimal script I tested with

#!/usr/bin/perl
use strict;
use warnings;
print "Content-type:text/html \n\n";

test();
test();


sub test {
 print " in test \n";
}

  and here is my httpd.conf

         PerlModule ModPerl::PerlRun
      <Location /cgi-bin>
          SetHandler perl-script
          PerlHandler ModPerl::PerlRun
          PerlSetVar ReloadAll Off

          PerlResponseHandler +ModPerl::PerlRun
          PerlOptions +ParseHeaders
          PerlSendHeader On
          Options +ExecCGI
      </Location>
      PerlRequire "/opt/nms/www/cgi-bin/startup.pl"
      # I modify @INC in startup.pl and do not load any modules

Error in the error_log
Subroutine test redefined at /opt/nms/www/cgi-bin/test1.pl line 22.
Subroutine test redefined at /opt/nms/www/cgi-bin/test1.pl line 10.

Thanks,
Kiran

Re: PerlRun Subroutine redefine warnings

Posted by Adam Prime <ad...@utoronto.ca>.
Kiran Kumar wrote:
> Hi Mike,
>     Thanks for your reply,  If you check my script there is no other
> subroutine with the same name and I do not import any modules , I
> renamed the subroutine to foo and I still get the same warnings.
> 

There's an old thread from someone else reporting this, though it 
doesn't have any sort of resolution.

http://marc.info/?t=93783022000001&r=1&w=2

Theoretically, while running under PerlRun that shouldn't happen.

Adam

Re: PerlRun Subroutine redefine warnings

Posted by Kiran Kumar <mk...@gmail.com>.
Hi Mike,
    Thanks for your reply,  If you check my script there is no other
subroutine with the same name and I do not import any modules , I
renamed the subroutine to foo and I still get the same warnings.


Thanks,
Kiran


On Wed, Aug 26, 2009 at 8:20 PM, Mike OK<mi...@acorg.com> wrote:
> This error occurs when you have two subroutines with the same name.
>
> Mike O'Krongli
> President and CTO
> Acorg Inc
> 519 432-1185
> ----- Original Message ----- From: "Kiran Kumar" <mk...@gmail.com>
> To: <mo...@perl.apache.org>
> Sent: Wednesday, August 26, 2009 8:07 PM
> Subject: PerlRun Subroutine redefine warnings
>
>
>> Hi,
>>  I am running mod_perl/2.0.4 on Linux , I keep getting the subroutine
>> redefined warnings. Perlrun reloads the cgi on each request so why do
>> I keep getting these warnings ? Is there any other way to avoid this
>> other than no warnings qw/redefine/ in my scripts. Am I missing
>> something here ?.
>>
>>  Here is a minimal script I tested with
>>
>> #!/usr/bin/perl
>> use strict;
>> use warnings;
>> print "Content-type:text/html \n\n";
>>
>> test();
>> test();
>>
>>
>> sub test {
>> print " in test \n";
>> }
>>
>>  and here is my httpd.conf
>>
>>        PerlModule ModPerl::PerlRun
>>     <Location /cgi-bin>
>>         SetHandler perl-script
>>         PerlHandler ModPerl::PerlRun
>>         PerlSetVar ReloadAll Off
>>
>>         PerlResponseHandler +ModPerl::PerlRun
>>         PerlOptions +ParseHeaders
>>         PerlSendHeader On
>>         Options +ExecCGI
>>     </Location>
>>     PerlRequire "/opt/nms/www/cgi-bin/startup.pl"
>>     # I modify @INC in startup.pl and do not load any modules
>>
>> Error in the error_log
>> Subroutine test redefined at /opt/nms/www/cgi-bin/test1.pl line 22.
>> Subroutine test redefined at /opt/nms/www/cgi-bin/test1.pl line 10.
>>
>> Thanks,
>> Kiran
>>
>
>

Re: PerlRun Subroutine redefine warnings

Posted by Mike OK <mi...@acorg.com>.
This error occurs when you have two subroutines with the same name.  


Mike O'Krongli
President and CTO
Acorg Inc
519 432-1185
----- Original Message ----- 
From: "Kiran Kumar" <mk...@gmail.com>
To: <mo...@perl.apache.org>
Sent: Wednesday, August 26, 2009 8:07 PM
Subject: PerlRun Subroutine redefine warnings


> Hi,
>  I am running mod_perl/2.0.4 on Linux , I keep getting the subroutine
> redefined warnings. Perlrun reloads the cgi on each request so why do
> I keep getting these warnings ? Is there any other way to avoid this
> other than no warnings qw/redefine/ in my scripts. Am I missing
> something here ?.
> 
>  Here is a minimal script I tested with
> 
> #!/usr/bin/perl
> use strict;
> use warnings;
> print "Content-type:text/html \n\n";
> 
> test();
> test();
> 
> 
> sub test {
> print " in test \n";
> }
> 
>  and here is my httpd.conf
> 
>         PerlModule ModPerl::PerlRun
>      <Location /cgi-bin>
>          SetHandler perl-script
>          PerlHandler ModPerl::PerlRun
>          PerlSetVar ReloadAll Off
> 
>          PerlResponseHandler +ModPerl::PerlRun
>          PerlOptions +ParseHeaders
>          PerlSendHeader On
>          Options +ExecCGI
>      </Location>
>      PerlRequire "/opt/nms/www/cgi-bin/startup.pl"
>      # I modify @INC in startup.pl and do not load any modules
> 
> Error in the error_log
> Subroutine test redefined at /opt/nms/www/cgi-bin/test1.pl line 22.
> Subroutine test redefined at /opt/nms/www/cgi-bin/test1.pl line 10.
> 
> Thanks,
> Kiran
>