Das Problem ist, das ich an URI nicht drehen kann, da es Teil von Perl58 ist.
Ein Beispielprogramm:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl58
#use URI;
use File::Find;
use Cwd;
foreach $dir (@INC){
find(\&pms, $dir);
}
sub pms{
if(/\.pm/i){
$current_dir = cwd();
print "$current_dir $_\n";
}
}
Das Programm gibt alle Module aus. Ohne URI erkennt man, das beim Ausführen des Programms in der Shell das Modul URI in der Liste verfügbarer Module angezeigt wird. Somit scheint alles korrekt zu sein.
Wird allerdings versucht, auf das Modul zuzugreifen (Kommentarzeichen entfernen und nochmals aufrufen), dann bekommt man eine Fehlermeldung, das Modul sei nicht im Includepfad (@INC) erreichbar. Das Modul ist somit nicht
verwendbar. Es scheint mir daher, das die Konfiguration auf der Maschine bzgl. Perl 5.8 nicht ganz ausreichend ist.
Offensichtlich verwenden Module ein anderes Environment, als das Mutter-Script. Die Module kann ich nicht beeinflussen, da kein Zugriff auf die Distribution besteht. Die Fragen sind also. Wo stelle ich das Environment ein? Kann ich das auf der Shellebene tun und wie?
Der Webserver ist suexec konfiguriert. Die Scripte laufen mit dem Webspace zugeteilten User.
Vielen Dank!\n\n
<!--EDIT|renee|1130762574-->