Christian Leipnitz: Perl-Datei wird nicht korrekt verarbeitet

Hallo zusammen!

Seit kurzem befasse ich mich mit Perl. Zumindest versuche ich es - sehr weit bin ich noch nicht gekommen. :(

(Das Archiv habe ich bereits durchsucht, obwohl mir leider nicht ganz klar war/ist, wonach ich eigentlich suchen soll ...)

Es geht um Folgendes:

Ich möchte CGI-Scripte und das ganze Drumherum gern lokal bearbeiten und testen.
Apache-Server und Perl-Interpreter sind installiert und funktionieren auch, was mir der Test mit <selfhtml/tga.htm#a3> (HTML-Datei mit CGI-Aufruf) auch zeigte.
(Ich hoffe, das kann als "Test" herhalten.)

Nun machte ich mich voller Motivation an ein Forums-Script. Die entsprechenden Dateipfade hatte ich angepasst.

Wenn ich nun das Forums-Formular absenden möchte, öffnet der IE sein "Dateidownloadfenster" und fragt mich, wie er mit der pl-Datei verfahren soll (Öffnen oder Speichern). Wähle ich öffnen, erscheint kurz ein DOS-Fenster, in dem der Code der Perl-Datei zu sehen ist.
Danach: nichts.

NS sagt mir, dass er die Datei nicht findet.

Leider weiß ich überhaupt nicht, wo der Fehler liegen könnte. Die Perl-Dateien sowie alle anderen notwendigen Dateien habe ich von einem Rechner übernommen, bei dem es problemlos funktioniert. Ich habe also nur die Verzeichnisse anpassen müssen
(also z. B. "cgi_url" oder "basedir")

Muss Perl eventuell noch konfiguriert werden?
Liegt es möglicherweise an "/" und ""?? (Ich weiß nämlich nicht so recht, welcher "Strich" wann angewandt wird ...)

Mit Archiv- oder Web-Links wäre ich schon zufrieden. (Oder _wonach_ ich suchen muss.)

Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken ohne das Posting unnötig anschwellen zu lassen.
(Wie man sieht, hapert es schon an solche Dingen wie den "Strichen" ...)

Viele Grüße und besten Dank im Voraus,

  • Christian -
  1. Hallo zusammen!
    Wenn ich nun das Forums-Formular absenden möchte, öffnet der IE sein "Dateidownloadfenster" und fragt mich, wie er mit der pl-Datei verfahren soll (Öffnen oder Speichern). Wähle ich öffnen, erscheint kurz ein DOS-Fenster, in dem der Code der Perl-Datei zu sehen ist.
    Danach: nichts.

    NS sagt mir, dass er die Datei nicht findet.

    Hast Du die .pl Datei im Verzeichnis cgi-bin? Hast du in der http.conf oder srm.conf dieses mit ScriptAlias als cgi Verzeichnis eingetragen (der entsprechende eintrag steht schon da und muß nur noch auskommentiert und mit dem richtigen pfad versehen werden.
    Für perl-Scripte ausserhalb von cgi-bin benötigen diese statt der endung .pl die endung .cgi. Ausserdem müssen dann die einträge AddHandler und Action für chi-scripte in der httpd.conf oder srm.conf auskommentiert und angepasst werden.

    Muss Perl eventuell noch konfiguriert werden?

    normalerweise nicht, aber in der ersten zeile sollte #!/usr/bin/perl (der standart-pfad auf den perlinterpreter) stehen (und der perlinterpreter sollte auch dort installiert sein:)

    Liegt es möglicherweise an "/" und ""?? (Ich weiß nämlich nicht so recht, welcher "Strich" wann angewandt wird ...)

    in den perlscripten kannst du grundsätzlich, also auch unter DOS oder Win, den / als Pfadtrennungszeichen verwenden.

    Hoffe weitergeholfen zu haben

    Gruß
              Marcus

    1. Hi!

      »»
      Hast Du die .pl Datei im Verzeichnis cgi-bin? Hast du in der http.conf oder srm.conf dieses mit ScriptAlias als cgi Verzeichnis eingetragen (der entsprechende eintrag steht schon da und muß nur noch auskommentiert und mit dem richtigen pfad versehen werden.
      »»

      Zweimal "Ja".

      »»
      in der ersten zeile sollte #!/usr/bin/perl (der standart-pfad auf den perlinterpreter) stehen (und der perlinterpreter sollte auch dort installiert sein:)
      »»

      Also bei mir steht da jetzt
      #!d:/apache/active_perl/bin/perl.exe

      Genauso (natürlich mit anderen Verzeichnissen) steht es auch in der Datei, die auf einem anderem Rechner problemlos funktioniert.

      Für das lokale Bearbeiten ist das doch ok, oder?

      Viele Grüße,

      • Christian -
      1. Also bei mir steht da jetzt
        #!d:/apache/active_perl/bin/perl.exe

        Genauso (natürlich mit anderen Verzeichnissen) steht es auch in der Datei, die auf einem anderem Rechner problemlos funktioniert.

        Für das lokale Bearbeiten ist das doch ok, oder?

        hmmm, bei dem laufwerksbuchstaben bin ich mir nicht sicher, probiers in der ersten zeile der scripte mal mit #!/apache/active_perl/bin/perl
        und in der apache-conf mit Action cgi-script "d:/apache/active_perl/bin/perl.exe"

        ansonsten weiss ich auch nicht weiter, ohne davor zu sitzen. vieleicht hilft dir ja http://www.teamone.de/selfaktuell/artikel/schroepl03.htm weiter.

        Gruß
                   Marcus

        1. Hi!

          »»
          ... und in der apache-conf mit Action cgi-script "d:/apache/active_perl/bin/perl.exe"

          Das werde ich nochmal probieren.
          Was mich wundert ist halt, dass diese Zeile in der anderen Datei - die, vom anderen Rechner - nicht enthalten ist.
          Und trotzdem funktioniert es dort. :(

          »»
          http://www.teamone.de/selfaktuell/artikel/schroepl03.htm

          Hatte ich mir schon mal angeguckt.
          Direkt zu meinem Problem konnte ich leider nichts finden.

          Gruß,

          • Christian -
          1. Hi auch,

            http://www.teamone.de/selfaktuell/artikel/schroepl03.htm
            Hatte ich mir schon mal angeguckt.
            Direkt zu meinem Problem konnte ich leider nichts finden.

            nein? Deine Beschreibung sagt mir, daß die cgi-bin-Konfiguration
            nicht korrekt sein kann. Wäre sie es, dann würde der Webserver
            dem Browser nicht den Inhalt des Skripts, sondern dessen Ausgabe
            (oder eine Fehlermeldung beim Versuch, sie auszuführen) liefern.

            Was genau steht im access_log bzw. error_log des Apache?
            Hast DU ein separates ScriptLog im Apache definiert (zum Testen
            sehr zu empfehlen)?

            mfG - Michael

            1. Hallo Michael

              Deine Beschreibung sagt mir, daß die cgi-bin-Konfiguration
              nicht korrekt sein kann. Wäre sie es, dann würde der Webserver
              dem Browser nicht den Inhalt des Skripts, sondern dessen Ausgabe
              (oder eine Fehlermeldung beim Versuch, sie auszuführen) liefern.
              Was genau steht im access_log bzw. error_log des Apache?

              Im acess_log lautet die letzte Meldung:
              "127.0.0.1 - - [28/Sep/2000:09:36:48 +0100] "POST /cgi-bin/test03/test03.pl HTTP/1.1" 200 202"

              Test 03 ist das Script von Selfhtml, welches funktioniert.

              Ein Eintrag darüber lautet:
              "127.0.0.1 - - [27/Sep/2000:19:35:33 +0100] "GET /cgi-bin/test04/index.html HTTP/1.1" 404 296"

              Test 04 ist das Forum, das nicht funktioniert.
              Leider sagt mir diese Meldung überhaupt nichts.

              In error_log ist zu lesen:
              "[Wed Sep 27 19:35:33 2000] [error] [client 127.0.0.1] (2)No such file or directory: script not found or unable to stat: d:/apache/cgi-bin/test04/index.html"

              Hmm, Script nicht gefunden? Die Verzeichnisangaben hatte ich mehrmals überprüft. Hat sich vielleicht doch ein Fehler eingschlichen.

              Mal muss man ja auch das gesamte Verzeichnis angeben und mal http://localhost/...

              Vielleicht habe ich da etwas verwechselt?

              »»
              Hast DU ein separates ScriptLog im Apache definiert (zum Testen
              sehr zu empfehlen)?

              Äh, so ganz weiß ich nicht was Du meinst.
              Ich hatte in einem Archiv-Posting gelesen, dass man hinter perl.exe "-w" setzen kann - zur Fehlerprotokollierung.

              Meinst Du das?

              Ciao,

              • Christian -
              1. Hallo,

                Im acess_log lautet die letzte Meldung:
                "127.0.0.1 - - [28/Sep/2000:09:36:48 +0100] "POST /cgi-bin/test03/test03.pl HTTP/1.1" 200 202"

                Test 03 ist das Script von Selfhtml, welches funktioniert.

                Also Perlscripts funktionieren grundsätzlich, hurra!

                Ein Eintrag darüber lautet:
                "127.0.0.1 - - [27/Sep/2000:19:35:33 +0100] "GET /cgi-bin/test04/index.html HTTP/1.1" 404 296"

                Test 04 ist das Forum, das nicht funktioniert.
                Leider sagt mir diese Meldung überhaupt nichts.

                In error_log ist zu lesen:
                "[Wed Sep 27 19:35:33 2000] [error] [client 127.0.0.1] (2)No such file or directory: script not found or unable to stat: d:/apache/cgi-bin/test04/index.html"

                index.html ist aber wahrscheinlich eine HTML_Seite und kein Perlscript. Zumindest läßt das die endung '.html' vermuten.

                Gibt es diese Datei, und ist sie ein Script und warum heißt sie dann nicht index.pl? Fragen über Fragen ;-)

                Grüße
                   Klaus

                1. Hi!

                  Also Perlscripts funktionieren grundsätzlich, hurra!

                  Ja, das Nichtfunktionieren kann doch dann nur am jeweiligen Script liegen, oder?

                  index.html ist aber wahrscheinlich eine HTML_Seite und kein Perlscript. Zumindest läßt das die endung '.html' vermuten.
                  Gibt es diese Datei, und ist sie ein Script und warum heißt sie dann nicht index.pl? Fragen über Fragen ;-)

                  Diese Datei gibt es - und es ist eine HTML-Datei.

                  Es ist so, dass das Forum über die index.html aufgerufen wird. Man gibt seine Daten ein, drückt auf Absenden und über den Befehl "post" werden die Daten an die pl-Datei weitergeleitet.

                  Also so:
                  <form action="d:/apache/cgi-bin/test04/wwwboard.pl" method="POST">

                  Zumindest sollte es so funktionieren. Was bei mir passiert, ist ja weiter oben zu lesen.

                  Ist eventuell hier die Verzeichnisangabe oder sonstiges falsch?

                  Viele Grüße,

                  • Christian -
                  1. Hmmh...

                    Wenn ich als Laie meinen Senf dazu geben darf.... Wie wäre's hier mit anstatt:

                    <form action="d:/apache/cgi-bin/test04/wwwboard.pl" method="POST">

                    dem hier:

                    <form action="http://localhost/cgi-bin/test04/wwwboard.pl" method="POST">

                    Ansonsten müsste eigentlich bein einem Windows-Rechner alle Pfadangabe im Script selber, die auf Lokale Pfade verweisen, doch in der Form:

                    $basedir = "d:\www\selfspezial\scbboard";

                    angegeben werden, oder?

                    Bis danndann
                    PAF (patrickausfrankfurt)

                    <img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view

                    <img src="http://www.atomic-eggs.com/selfspezial/atomicegg.gif" id="ei" alt="Atomic Eggs - die humosophische Seite" onMouseUp="window.location.href='http://www.atomic-eggs.com/'" onmouseover="if(document.all)document.all.ei.style.cursor='hand';status='http://www.atomic-eggs.com/';return true;" onmouseout="status='';return true;">

                    1. Hi!

                      Ansonsten müsste eigentlich bein einem Windows-Rechner alle Pfadangabe im Script selber, die auf Lokale Pfade verweisen, doch in der Form:
                      "$basedir = "d:\www\selfspezial\scbboard";
                      angegeben werden, oder?

                      Bei mir im Script steht momentan
                      "$basedir = "d:/apache/htdocs/test04";"  <- [1]

                      Ich nahm erst an, dass die Striche mal wieder falsch sind.
                      (Dass sie doppel gesetzt werden, sehe ich zum ersten Mal.)

                      Ich habe es jedenfalls probiert, aber es funktioniert nur mit [1].

                      Viele Grüße,

                      • Christian -
                      1. Hi!

                        "$basedir = "d:\www\selfspezial\scbboard";

                        Bei mir im Script steht momentan
                        "$basedir = "d:/apache/htdocs/test04";"  <- [1]

                        Beides ist richtig (auf einem Windows-Rechner).

                        (Dass sie doppel gesetzt werden, sehe ich zum ersten Mal.)

                        Nur die \ muessen doppelt gesetzt werden, weil diese in Perl eine Sonderbedeutung haben. Z.B. ist \n ja das Zeichen fuer Zeilenumbruch (meist ASCII 10), d.h. der \ veranlasst eine spezielle Interpretation des darauffolgenden n. Um nun die Sonderbedeutung des \ auszuschalten, muss ein weiterer \ davor. Zusammen ergibt das aber nur ein einzelnes -Zeichen, was letztlich wirklich im String steht (und spaeter ans Betriebssystem uebergeben wird). (Dies gilt speziell fuer Strings, die in " eingeschlossen sind. Bei ' als Begrenzer sieht es anders aus.)
                        Der / hat keine solche Sonderbedeutung, also muss er auch nicht escaped werden.

                        So long

                  2. Hallo,

                    Diese Datei gibt es - und es ist eine HTML-Datei.

                    Es ist so, dass das Forum über die index.html aufgerufen wird. Man gibt seine Daten ein, drückt auf Absenden und über den Befehl "post" werden die Daten an die pl-Datei weitergeleitet.

                    Also so:
                    <form action="d:/apache/cgi-bin/test04/wwwboard.pl" method="POST">

                    Zumindest sollte es so funktionieren. Was bei mir passiert, ist ja weiter oben zu lesen.

                    Ist eventuell hier die Verzeichnisangabe oder sonstiges falsch?

                    Das bringt uns ja schon weiter.
                    Zwei Dinge:
                    1.)
                    Du solltest grundsätzlich HTML-Dateien von Scripts trennen.
                    Warum?
                    Weil bei HTML-Dateien deren _Inhalt_ an den Browser weitergeleitet werden und bei Scripts deren _Ergebnis_, also nicht das was in der scriptdatei steht, sondern das, was dieses Script produziert.
                    Asu sicherheitsgründen können daher Dateien im Scriptordern nicht direkt auf den Browser geschickt werden, weil es sonst vielleicht dazu kommt, daß dein code bei einem Browser auftaucht, und das willst Du sicher nicht.

                    Vorschlag:
                    Du speicherst dein Formular nicht im cgi-bin-Zweig, sondern im htdocs-ZWeig, oder wie auch immer Dein _normales_ Dokumenten-Root heißen mag.
                    also z.B:

                    Die (lokale) Datei:
                    d:\apache\htdocs\formular.html
                    ergibt
                    http://wasauchimmerfüreinServername/formular.html

                    und in der Trägst Du die richtige Form-Action ein. sie Punkt 2.

                    2.)
                    Du mußt grundsätzlich zwischen lokalen Dateinamen und URL's unterscheiden.

                    <form action="d:/apache/cgi-bin/test04/wwwboard.pl" method="POST">

                    kann nicht funktionieren, da dies kein gültiger URL ist.

                    <form action="/cgi-bin/test04/wwwboard.pl" method="POST">
                    oder
                    <form action="http://wasauchimmerfüreinServername/cgi-bin/test04/wwwboard.pl" method="POST">

                    funktioniert.

                    In der Serverkonfiguration legst Du fest, wie lokale VErzeichnisse vom Server behandelt werden sollen. Es gibt sicherlich irgendwo in der Konfigurationsdatei einen Eintrag für die Location /cgi-bin. Dort legst Du fest, welches lokale VErzeichnis im Web '/cgi-bin' heißen soll.

                    Schau Dir erstmal die Doku zum Server an.
                    BTW.: das machen eigentlich alle Webserver auf die eine oder andere Weise.

                    Also nochmals:

                    1.) Das HTML-Formular gehört _nicht_ in den cgi-bin-Pfad.
                    2.) Das Form-Tag sollte
                      <form action="/cgi-bin/test04/wwwboard.pl" method="POST">
                    heißen.

                    Ich weiß, jetzt werden wieder ein paar große Fragezeichen auftauchen, aber leider ist aller Anfang schwer :-(

                    Grüße
                      Klaus

                    1. Hi!

                      Erstmal vielen Dank dafür, dass Du immer noch antwortest, obwohl der Thread schon soweit unten ist ...
                      :)

                      »»
                      Du solltest grundsätzlich HTML-Dateien von Scripts trennen.
                      [...]
                      Vorschlag:
                      Du speicherst dein Formular nicht im cgi-bin-Zweig, sondern im htdocs-ZWeig, oder wie auch immer Dein _normales_ Dokumenten-Root heißen mag.

                      Habe ich eigentlich gemacht. Die index.html befindet sich bei mir im Verzeichnis "d:/apache/htdocs/test04/index.html".
                      Das dürfte doch richtig sein, oder?

                      <form action="/cgi-bin/test04/wwwboard.pl" method="POST">
                      oder
                      <form action="http://wasauchimmerfüreinServername/cgi-bin/test04/wwwboard.pl" method="POST">
                      »»

                      Ok, das habe ich mal geändert.
                      Und - yipeehhh!

                      Habe das Forum aufgerufen, irgendwelche Sachen eingegeben, die Daten abgeschickt und siehe da, eine neue Seite mit meinen Eingaben wurde angezeigt. Super, jetzt bin ich schon ein ganzes Stück weiter.

                      Bei anderen Versuchen (z. B. lokales Gästebuch) funktioniert es noch nicht ganz, aber besser. :)
                      Soll heißen, dass, schicke ich einen GB-Eintrag lokal ab, im Browser "Server nicht gefunden" erscheint.
                      Und da dürfte mir ja <selfaktuell/artikel/schroepl03.htm> weiterhelfen.

                      Ich weiß, jetzt werden wieder ein paar große Fragezeichen auftauchen, aber leider ist aller Anfang schwer :-(

                      Ja, das ist mit allem so.
                      Aber durch solch' tolle Hilfestellungen und Tipps wie von Dir (und natürlich den anderen!) kommt man gut voran!

                      Wenn man es dann erst mal kann (wovon ich ja noch weeiiiit entfernt bin), macht es ja oft auch Spaß. :)

                      Viele Grüße,

                      • Christian -
                      1. Hallo,

                        Wenn man es dann erst mal kann (wovon ich ja noch weeiiiit entfernt bin), macht es ja oft auch Spaß. :)

                        Oft auch schon vorher:

                        <cite>
                        Ok, das habe ich mal geändert.
                        Und - yipeehhh!
                        </cite>

                        Das sind die Augenblicke, wo's wirklich Spaß macht, oder?

                        Grüße
                           Klaus

                        1. Hi!

                          Oft auch schon vorher:
                          <cite>
                          Ok, das habe ich mal geändert.
                          Und - yipeehhh!
                          </cite>

                          Das sind die Augenblicke, wo's wirklich Spaß macht, oder?
                          »»

                          Hast Recht. Zustimmung auf der ganzen Linie. :)

                          Andererseits gibt es auch Momente, in denen man stark an sich zweifelt: Ich hatte gestern abend (und die Nächte davor) stundenlang an einem JavaScript gesessen. Meiner Meinung war dieses relativ einfach - funktionieren wollte es aber nicht.

                          Ich probierte _alles_ aus. Ohne Erfolg. Bis ich dann endlich die Lösung fand. Und die war so simpel, dass ich hätte schreien können!

                          *g*

                          Naja, letztendlich überwiegt doch die Freude ...

                          Viele Grüße,

                          • Christian -
      2. Hallo Christian,

        Also bei mir steht da jetzt
        #!d:/apache/active_perl/bin/perl.exe

        soweit ich Win32-Apache kenne, ist es notwendig, daß Du DOS-Konventionen verwendest.
        #!d:\apache\active_perl\bin\perl.exe

        funktioniert sihcer, sofern perl.exe auch wirklich dort zu finden ist. Unter Unix muß übrigens auch der richtige pfad zu Perl eingetragen sein. Es ist nun mal nicht so , daß perl immer unter /usr/bin/perl zu finden ist. (Freundliche Administratoren haben aber zumindest dort einen Link eingetragen)

        Grüße
          Klaus

        1. Hallo Klaus

          soweit ich Win32-Apache kenne, ist es notwendig, daß Du DOS-Konventionen verwendest.
          #!d:\apache\active_perl\bin\perl.exe

          Habe ich probiert - sowohl mit dem Script von Selfhtml, als auch mit einem Forumsscript.

          Beim ersten funktioniert es mit beiden Möglichkeiten, aber auch mit "#!perl"

          Das Forumsscript funktioniert weder mit dem einen, noch mit dem anderen. :(

          Gruß,

          • Christian -
      3. Hi auch,

        in der ersten zeile sollte #!/usr/bin/perl (der standart-pfad auf den perlinterpreter) stehen (und der perlinterpreter sollte auch dort installiert sein:)
        Also bei mir steht da jetzt
        #!d:/apache/active_perl/bin/perl.exe

        ich habe unter Windows95/95 in autoexec.bat den Pfad des
        Perl-Interpreters in PATH gesetzt und in meinen CGI-
        Skripten nur noch "#!perl" stehen. Funktioniert prima.

        mfG - Michael

        1. Hallo!

          ich habe unter Windows95/95 in autoexec.bat den Pfad des
          Perl-Interpreters in PATH gesetzt und in meinen CGI-
          Skripten nur noch "#!perl" stehen. Funktioniert prima.
          »»

          In der Autoexec steht bei mir
          "SET PATH=D:\APACHE\ACTIVE~1\BIN;"%PATH%".

          Ist das korrekt, oder fehlt hier nocht etwas?
          Bei dem Script, dass ich hier bei Selfhtml gefunden habe, klappt es, wenn ich nur "#!perl" eingebe.

          Bei den anderen (z. B. Forumsscript) funktioniert es leider nicht.
          Es erscheint das Selbe wie vorher auch.

          Übrigens habe ich gestern auch mal ein Gästebuch-Script versucht.
          Da erscheint nun plötzlich eine DOS-Box mit dem Text "Befehl oder Dateiname nicht gefunden", die sich automatisch wieder schliesst.

          Danach versucht IE noch einen Moment lang, die Seite zu öffnen, was aber nicht funktioniert.

          Gruß,

          Christian, völlig ratlos.

          1. hi ho

            du hast windows?
            du hast active perl installiert?
            du hast mein installieren darauf geachtet, dass perl sich fuer .pl in die registry geschrieben hat?

            ===> Hier ist deine Loesung:

            Die Anweisung
            ScriptInterpreterSource registry

            funktioniert bei mir wunderbar (siehe apache-doku)

            da kann dann in der ersten zeile deines scripts auch #!hallo stehen, er findet perl trotzdem. - Das hat den Vorteil, man kann die scripte gleich fuer den ernstfall schreiben .-)

            cua

            n.d.p.

            1. Hi!

              »»
              ===> Hier ist deine Loesung:
              Die Anweisung
              ScriptInterpreterSource registry
              [...]
              da kann dann in der ersten zeile deines scripts auch #!hallo stehen, er findet perl trotzdem. - Das hat den Vorteil, man kann die scripte gleich fuer den ernstfall schreiben .-)

              Danke für den Tipp - scheint echt praktisch zu sein.
              Das merke ich mir mal für alle Fälle.

              Ciao,

              • Christian -
            2. Hi n.d.

              Die Anweisung
              ScriptInterpreterSource registry

              Zwei Dinge zu beachten.
              1. Gibt's erst seit Apache 1.3.5.
              2. IMHO: Der Perl-Interpreter muss beim "open"-Schluessel eingetragen sein, also das, was beim Doppelklicken aufgerufen wird. Steht da aber z.B. ein Texteditor, weil man eben beim Doppelklicken das Script editieren will, wird auch Apache den Editor aufrufen.

              funktioniert bei mir wunderbar (siehe apache-doku)

              http://www.apache.org/docs/mod/core.html#scriptinterpretersource

              So long

              1. hi ho

                1. Gibt's erst seit Apache 1.3.5.
                2. IMHO: Der Perl-Interpreter muss beim "open"-Schluessel eingetragen sein, also das, was beim Doppelklicken aufgerufen wird. Steht da aber z.B. ein Texteditor, weil man eben beim Doppelklicken das Script editieren will, wird auch Apache den Editor aufrufen.

                ja, aber das zum lokalen testen so einzurichten, sehe ich nicht so als ein problem an :-), Dateien kann man ja auch anders als mit Doppelklick oeffnen...
                man spart sich schliesslich auch ne menge aerger damit (wenn man zum beispiel vergisst, #!d:/tralala/Perl in die entsprechende Unix-Zeile zu aendern...)

                cua

                n.d.p.

  2. Hallo zusammen!

    Seit kurzem befasse ich mich mit Perl. Zumindest versuche ich es - sehr weit bin ich noch nicht gekommen. :(
    [...]

    Viele Grüße und besten Dank im Voraus,

    • Christian -

    Hallo,

    hast Du auf der betroffenen Kiste pl-Dateien mit perl.exe verknüpft?
    Kannst Du testen, indem Du im Explorer auf eine pl-Datei doppelklickst.
    Wird das Script ausgeführt, paßt alles.
    Anderenfalls kommt die Box, in der Du auswählen kannst, mit welchem die pl-Datei geöffnet werden soll.
    Hier perl.exe suchen und am besten noch das Kästchen "Dateien dieses Typs immer damit öffnen" (oder so ähnlich) ankreuzen.

    cu,
    Andreas

    1. Hi!

      hast Du auf der betroffenen Kiste pl-Dateien mit perl.exe verknüpft?
      Kannst Du testen, indem Du im Explorer auf eine pl-Datei doppelklickst.
      Wird das Script ausgeführt, paßt alles.
      Anderenfalls kommt die Box, in der Du auswählen kannst, mit welchem die pl-Datei geöffnet werden soll.
      »»

      Wenn ich im Explorer auf eine entsprechende Datei klicke, erscheint für einen Moment lang eine DOS-Box. Weiter tut sich nichts.

      Viele Grüße,

      • Christian -
      1. Hi!
        [...]
        Wenn ich im Explorer auf eine entsprechende Datei klicke, erscheint für einen Moment lang eine DOS-Box. Weiter tut sich nichts.

        Viele Grüße,

        • Christian -

        Hallo,

        das heißt, es wird die Dosbox geöffnet, das Script ausgeführt und die Box wieder geschlossen. PL-Dateien sind also ordentlich mit perl.exe verknüpft. Das war also nicht das Problem... Dann weiß ich auch nicht weiter.

        Andreas