lokales Perl Skript über html Formular starten
nino
- perl
Hallo!
Ich habe folgendes Problem und bin nach langer Suche im Netz nun ein wenig entmutigt:
Ich habe eine html Seite mit einem Formular, z.B.:
...
<form action="skript.pl" method="post">
<input type="submit" name="" value="start"></p>
</form>
...
Die Seite ist lokal auf dem Rechner gespeichert und das Skript skript.pl befindet sich im gleichen Verzeichnis und beinhaltet z.B.:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<h3>ein text</h3>\n";
exit(0);
Mein Problem ist, das ich es nicht zum Ausführen kriege, der Browser zeigt nur den Quelltext des Skriptes an! Um es nochmal zu betonen: das ganze soll einfach nur lokal und ohne Webserver ablaufen.
Ich bin ein wenig ratlos und zweifele mittlerweile daran, dass es überhaupt geht?!
Wäre für jede Hilfe dankbar! Auch für Anregungen wie ich es eventuell anders machen könnte, also eine html Seite dynamisch unter Verwendung von eingebenden Daten (Formular) lokal auf Client Seite zu erzeugen... Javascript hilft mir da ja auch nicht weiter, da ich so mein Perl Skript auch nicht starten kann und Java geht nicht, aufgrund erwünschter Unabhängigkeit von einer Java Installation...
Vielen Dank!
nino
Hi,
Du solltest deinen Server richtig konfigurieren. Versuch mal XAMPP
MfG Hopsel
hallo Hopsel,
Du solltest deinen Server richtig konfigurieren.
Er will ja gar keinen Server haben.
Versuch mal XAMPP
Warum verweist du nicht zuerst auf SELFHTML oder auf die Feature-Artikel?
Grüße aus Berlin
Christoph S.
hallo nino,
das ganze soll einfach nur lokal und ohne Webserver ablaufen.
Das wird es nicht tun. Ohne Server bekommst du es bestenfalls immer nur im Quelltext angezeigt. Punkt.
Grüße aus Berlin
Christoph S.
你好 Christoph,
das ganze soll einfach nur lokal und ohne Webserver ablaufen.
Das wird es nicht tun. Ohne Server bekommst du es bestenfalls immer nur
im Quelltext angezeigt. Punkt.
Das ist falsch. Der WSH erlaubt die Einbindung von nahezu beliebigen
Sprachen.
再见,
克里斯蒂安
Hallo,
das ganze soll einfach nur lokal und ohne Webserver ablaufen.
Das wird es nicht tun. Ohne Server bekommst du es bestenfalls immer nur
im Quelltext angezeigt. Punkt.Das ist falsch. Der WSH erlaubt die Einbindung von nahezu beliebigen
Sprachen.
wo war hier die Rede von Windows? Du weißt doch was ein Host ist, oder ? ;-)
cu,
ziegenmelker
你好 ziegenmelker,
das ganze soll einfach nur lokal und ohne Webserver ablaufen.
Das wird es nicht tun. Ohne Server bekommst du es bestenfalls immer
nur im Quelltext angezeigt. Punkt.Das ist falsch. Der WSH erlaubt die Einbindung von nahezu beliebigen
Sprachen.wo war hier die Rede von Windows?
Wo war hier die Rede von UNIX? De facto wusste Christoph nicht, ob von UNIX
oder Windows die Rede war, hat aber eine allgemeingueltige Aussage
aufgestellt, die so nicht haltbar ist. Das habe ich korrigiert indem ich
ein Gegenbeispiel gebracht habe.
Du weißt doch was ein Host ist, oder ? ;-)
Von “Host” war weder beim OP noch bei Christoph die Rede. Ich zitiere:
| Um es nochmal zu betonen: das ganze soll einfach nur lokal und ohne
| Webserver ablaufen.
再见,
克里斯蒂安
Hallo Christian,
zuerst muß ich zugeben, daß es Haarspalterei ist.
das ganze soll einfach nur lokal und ohne Webserver ablaufen.
Das wird es nicht tun. Ohne Server bekommst du es bestenfalls immer
nur im Quelltext angezeigt. Punkt.Das ist falsch. Der WSH erlaubt die Einbindung von nahezu beliebigen
Sprachen.wo war hier die Rede von Windows?
Du sprichst von Windows, und IMHO vom Windows Scripting Host.
Wo war hier die Rede von UNIX? De facto wusste Christoph nicht, ob von UNIX
oder Windows die Rede war, hat aber eine allgemeingueltige Aussage
aufgestellt, die so nicht haltbar ist. Das habe ich korrigiert indem ich
ein Gegenbeispiel gebracht habe.
Christoph sagte, daß es ohne Server nicht geht, was zugegebenerweise eine Verallgemeinerung zum OP (->kein Webserver) darstellt, aber ansonsten eben richtig ist.
Wenn man allerdings _unterstellt_, daß sich Christoph mit dem Wort Server genau auf den Begriff Webserver des OP bezog, ja dann ...
Außerdem schrieb der OP in seinem Perl-Script "#!/usr/bin/perl", das sieht für mich nach Unix/Linux o.ä. aus, ich kenne aber die Perl-Installation unter Windows nicht, insofern ist vielleich ein Irrtum möglich.
cu,
ziegenmelker
你好 ziegenmelker,
wo war hier die Rede von Windows?
Du sprichst von Windows, und IMHO vom Windows Scripting Host.
Richtig.
Wo war hier die Rede von UNIX? De facto wusste Christoph nicht, ob von
UNIX oder Windows die Rede war, hat aber eine allgemeingueltige Aussage
aufgestellt, die so nicht haltbar ist. Das habe ich korrigiert indem ich
ein Gegenbeispiel gebracht habe.Christoph sagte, daß es ohne Server nicht geht, was zugegebenerweise
eine Verallgemeinerung zum OP (->kein Webserver) darstellt, aber
ansonsten eben richtig ist.
Nein, das ist es eben nicht. Es ist ueber den WSH prinzipiell moeglich,
beliebige Scriptsprachen einzubinden, z. B. ueber entsprechenden
language-Werte fuer <script>-Tags -- die genaue Syntax muesste ich jetzt
nachschlagen, steht in meinem VBScript-Handbuch. Man braucht unter Windows
keinen Webserver um Perl im HTML-Dateien zu benutzen.
Außerdem schrieb der OP in seinem Perl-Script "#!/usr/bin/perl", das
sieht für mich nach Unix/Linux o.ä. aus, [...]
Das machen sehr viele Anfaenger auch unter Windows so, weil sie Quelltexte
einfach abschreiben bzw. deren Sinn nicht verstehen.
再见,
克里斯蒂安
Hlalo Christian,
Christoph sagte, daß es ohne Server nicht geht, [...]
Nein, das ist es eben nicht. Es ist ueber den WSH prinzipiell moeglich,
beliebige Scriptsprachen einzubinden [...]
WSH ist ein Server, oder? ;-)
Außerdem schrieb der OP in seinem Perl-Script "#!/usr/bin/perl", das
sieht für mich nach Unix/Linux o.ä. aus, [...]Das machen sehr viele Anfaenger auch unter Windows so, weil sie Quelltexte
einfach abschreiben bzw. deren Sinn nicht verstehen.
Das glaube ich ungesehen. *bg*
Letztlich wissen wir aber nicht, was der nino für Einer ist. ;)
cu,
ziegenmelker
你好 ziegenmelker,
Christoph sagte, daß es ohne Server nicht geht, [...]
Nein, das ist es eben nicht. Es ist ueber den WSH prinzipiell moeglich,
beliebige Scriptsprachen einzubinden [...]WSH ist ein Server, oder? ;-)
Nein, eine Programmbibliothek.
Außerdem schrieb der OP in seinem Perl-Script "#!/usr/bin/perl", das
sieht für mich nach Unix/Linux o.ä. aus, [...]Das machen sehr viele Anfaenger auch unter Windows so, weil sie
Quelltexte einfach abschreiben bzw. deren Sinn nicht verstehen.Das glaube ich ungesehen. *bg*
Letztlich wissen wir aber nicht, was der nino für Einer ist. ;)
Richtig, und deshalb sind derart absolute Aussagen fehl am Platze.
再见,
克里斯蒂安
hallo CK,
Wo war hier die Rede von UNIX? De facto wusste Christoph nicht, ob von UNIX
oder Windows die Rede war
De facto hat er sich das Script angeschaut. Da die Shebang auf "#!/usr/bin/perl" lautet, hat er angenommen, daß dies der Pfad zum Interpreter sein müßte. Wird ein Script als CGI-Script aufgerufen (und steht in der httpd.conf nichts von ScriptInterpreterSource registry, was hier aber irrelevant ist), so ist die Vermutung, daß es sich um ein UNIX-Derivat handeln müßte, kaum von der Hand zu weisen.
| Um es nochmal zu betonen: das ganze soll einfach nur lokal und ohne
| Webserver ablaufen.
"lokal und ohne Webserver" gehts auf einem UNIX-Derivat nun einmal nicht mit dem WSH. Es sei denn, man konstuiert sich irgendetwas ziemlich Aufwendiges mit VMWare.
Grüße aus Berlin
Christoph S.
Hi,
De facto hat er sich das Script angeschaut. Da die Shebang auf "#!/usr/bin/perl" lautet, hat er angenommen, daß dies der Pfad zum Interpreter sein müßte. Wird ein Script als CGI-Script aufgerufen (und steht in der httpd.conf nichts von ScriptInterpreterSource registry, was hier aber irrelevant ist), so ist die Vermutung, daß es sich um ein UNIX-Derivat handeln müßte, kaum von der Hand zu weisen.
Da unter Windows die Shebang-Zeile keine (wirkliche) Bedeutung hat (insbes. wenn kein Webserver benutzt wird, was hier ja der Fall sein soll), kann man aus deren Anwesenheit oder gar dem Unix-mäßigen Pfad darin nicht schließen, daß kein Windows benutzt wird.
cu,
Andreas
hallo Andreas,
Da unter Windows die Shebang-Zeile keine (wirkliche) Bedeutung hat (insbes. wenn kein Webserver benutzt wird, was hier ja der Fall sein soll)
Wenn kein Webserver benutzt wird, hat sie wenig Bedeutung, das ist korrekt. Der Aufruf auf der Konsole klappt (übrigens plattformunabhängig), da das ja nicht über die CGI-Schnittstelle geht. Aber der Aufruf aus einem Browser heraus und unter Zuhilfenahme eines Formulars ist etwas anderes, und _da_ spielt die shebang auch unter Windows durchaus die Rolle, für die sie nun einmal da ist.
kann man aus deren Anwesenheit oder gar dem Unix-mäßigen Pfad darin nicht schließen, daß kein Windows benutzt wird.
Ich habe ausdrücklich von einer Vermutung (und nicht von einem Schluß) gesprochen, die "kaum von der Hand zu weisen" sei.
Grüße aus Berlin
Christoph S.
Hallo,
Ich habe folgendes Problem und bin nach langer Suche im Netz nun ein wenig entmutigt:
Ich habe eine html Seite mit einem Formular,
Die Seite ist lokal auf dem Rechner gespeichert und das Skript skript.pl befindet sich im gleichen Verzeichnis
Mein Problem ist, das ich es nicht zum Ausführen kriege, der Browser zeigt nur den Quelltext des Skriptes an! Um es nochmal zu betonen: das ganze soll einfach nur lokal und ohne Webserver ablaufen.
du weißt mittlerweile, daß es ohne einen Server nicht geht, vor allem nicht betriebsystemunabhängig. Vielleicht kannst du uns genauer erklären, was du vorhast, was macht z.B. dein Script, dann können wir dir sicher Alternativ-Vorschläge machen.
Wäre für jede Hilfe dankbar! Auch für Anregungen wie ich es eventuell anders machen könnte, also eine html Seite dynamisch unter Verwendung von eingebenden Daten (Formular) lokal auf Client Seite zu erzeugen... Javascript hilft mir da ja auch nicht weiter, ...
Nun, mit JavaScript könntest du zumindest den Seiteninhalt dynamisch verändern, im Extremfall alle Elemente innerhalb des Body löschen und neue erzeugen, selbstverständlich unter Einbeziehung der Formulardaten.
cu,
ziegenmelker