2011-11-06 2 views
2

J'essaie d'exécuter une application Web Perl CGI sous mod_perl 2.0 en utilisant PerlRun. Après avoir fait quelques changements simples aux scripts tout semble fonctionner.Erreurs exécutant des scripts CGI Perl sous PerlRun

Cependant, l'erreur error_log devient énorme! Vite.

Il y a beaucoup, beaucoup d'erreurs par demande, mais ils sont de deux types:

1)

Constant subroutine ModPerl::ROOT::ModPerl::PerlRun::var_www_html_myapp_main_2epl::RC_SERVICE_UNAVAILABLE redefined at /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/Util.pm line 69. 

2)

Prototype mismatch: sub ModPerl::ROOT::ModPerl::PerlRun::var_www_html_myapp_main_2epl::RC_SWITCHING_PROTOCOLS: none vs() at /var/www/html/myapp/main.pl line 1054 

Ceci est la ligne 1054 de main.pl:

use LWP::Simple qw(!head); 

Comment puis-je me débarrasser de ces deux types d'erreurs?

+0

Copie possible de http://stackoverflow.com/questions/1205116/why-do-i-get-redefine-warnings-with-use-constant-under-mod-perl? – Schwern

Répondre

3

Vos deux messages d'erreur sont liés à LWP :: Simple. LWP :: Simple exporte les constantes HTTP, ce qui provoque les avertissements redéfinis. Lorsque vous utilisez LWP :: Simple, essayez d'inclure uniquement les fonctions dont vous avez besoin. LWP :: Simple qw (get, getstore); Vous pouvez toujours voir les erreurs d'incompatibilité de prototype sur ces fonctions.