Michael Schröpl: Nt begreiflich machen, daß ein Perl-Schript ausgeführt werden soll

Beitrag lesen

Der Aufruf über einen Server (Testserver ist local WebSite 1.1) liefert den klassischen Error 500.

Dein Problem ist kein NT-Problem, sondern ein Problem von WebSite 1.1 (das ich auch verwende).
Überlege mal, wie ein Webserver unter Windows logischerweise eine CGI-Anwendung aktiviert, von der er nicht weiß, daß sie in Perl geschrieben wurde.

Apache unter Windows NT würde genau das tun, was Du erwartest, nämlich Zeile 1 der CGI-Anwendung lesen, "#!" suchen, den Pfad dahinter als Interpreter auswerten und diesen Interpreter aufrufen, mit Deinem CGI-Skript als Parameter.
Das liegt aber daran, daß Apache in der UNIX-Welt groß geworden ist.
(Erfreulicherweise findet Apache unter Windows NT sogar "#!perl" ohne Pfad, falls Perl über die Environment-Variable PATH gefunden werden kann - das habe ich nicht mal unter IBM AIX hingekriegt!)

WebSite führt einfach Dein CGI-Skript aus -es übergibt den Namen Deines Skripts an das Betriebssystem und hofft, daß dieses etwas damit anfangen kann. Bei Dir klappt das nicht.
Versuche mal, die Endung Deines CGI-Skripts über den Explorer mit dem Perl-Interpreter als Anwendung zu verknüpfen (so daß bei einem Doppelklick auf das Perl-Skript der Perl-Interpreter aufgerufen wird). Genau das macht WebSite 1.1 auch - wenn das eine klappt, klappt das andere ebenfalls.

Lästig dabei ist, daß man dann *.pl leider nicht mehr mit dem geliebten Editor verknüpfen kann, was man während der Entwicklung eigentlich gerne tun will - es geht leider nur eines von beidem ...