Hi,
In der Umgebung WinNT4.0, IIS4.0 sowie Perl 5.x werden Referenzen innerhalb von Perl-Skripten auf andere Dateien (z.B. html oder auch lib) nicht gefunden. Mit Apache1.3.12 hatte ich dieses Problem nicht.
das liegt nicht am Apache, sondern daran, daß Du dort *zufällig* eine Konfiguration hattest, bei der das klappte.
if ($type =~ /Mac/i) {
»» open (PAGE, "../home_m.html");
match.cgi befindet sich im cgi-bin Verzeichnis, die beiden *.html Dateien eins darüber.Das Problem ist, daß sich "../" nicht auf das CGI-Verzeichnis bezieht, sondern auf das current directory des Prozesses, welcher Dein CGI-Skript ausführt. Wie dieses gesetzt ist, kannst Du nicht wissen - deshalb ist es reiner Zufall, ob Dein Verfahren klappt oder nicht.
Eine Methode, mit der Deine Idee zuverlässig funktionieren sollte, wäre, Dir vom Webserver den Pfadnamen Deines CGI-Skripts geben zu lassen, diesen in Perl zu zerlegen und daraus den Pfadnamen Deiner Dateien zu konstruieren.
Ob (und wie) Dein IIS4.0 diese Information liefert, weiß ich nicht; wie der Apache es tun würde, kannst Du in http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a18 nachlesen.
danke für den tip, das werde ich mal probieren!
Ich habe es auch schon mit absoluten Referenzen probiert, ohne Erfolg!
Absolute *Pfade* würden auch funktionieren - Du darfst natürlich nicht Pfade und URLs durcheinander werfen.
Jupp, da hast du recht, dass man das durcheinander bringen kann. Ich habe daher beides probiert - ohne Erfolg!