Hi, habe mit einen neuen Virtuellen Server bei Hosteurope gemietet. Jetzt möchte ich dort natürlich auch CGI-Scripts ausführen, jedoch bekomme ich jedesmal wenn ichauf die mod_perl 1.x API zugreifen möchte folgende Fehlermeldung: Can't call method "beliebige Funktion" on an undefined value. Ein Beispielscript hierfür lautet:
my $r = shift; $r->send_http_header('text/plain'); $r->print("mod_perl rules!\n");
In anderen Foren sagte man mir ich hätte mod_perl nicht installiert, was allerdings der Fall ist. Sowohl eine Anfrage an den Apache als auch der PHP Befehl
<?php echo phpinfo(); //Siehe Absatz "Apache" ?>
geben mir aus, dass dieses Modul installiert ist. Und darin ist doch auch die API installiert, die mir diese Befehle zur Verfügung stellt, oder? Ach so, die Apache 1.x-Configuration für PL Dateien:
<Directory /home/httpd/vhosts/meinedomain.de/httpdocs> <IfModule mod_perl.c> <Files ~ (\.pl$)> SetHandler perl-script PerlHandler ModPerl::Registry Options ExecCGI allow from all PerlSendHeader On </Files> </IfModule> .........
So shiftest Du den ersten Wert aus @ARGV was bei einem CGI natuerlich leer ist, da ein CGI keine Kommandozeilenparameter bekommt. Daher ist $r dann undefiniert.