roman lenz: CGI / PERL script wird nicht mehr ausgeführt

hi hi

ich habe eine lokalen Apachesever (1.3.12) der läuft und meine Seiten ausführt. Nur ein Script wird nicht mehr ausgeführt. Beim Aufrufen des Script dreht sich nur die eieruhr :-((
vor zwei tagen lief das Script noch.
In den Severlogdateien finde ich keinen Hinweis.
Die ersten Zeilen es script sehen auch vernünfig aus.

Wodran kann es liegen das das script nicht mehr ausgeführt wird?

besten dank und einen schönen Sonntag

bis bis roman

--
ss:( zu:) ls:} fo:) de:> va:) ch:] sh:( n4:° rl:( br:^ js:| ie:( fl:( mo:)
http://emmanuel.dammerer.at/selfcode.html
  1. Ruf das Script auf der Kommandozeile selber auf.
    Ausserdem was hasst Du am System geaendert, vieleicht hatte irgendetwas ene auswirkung auf dein system und den Apache.....

    Leider ist Deine Frage nicht sonderlich umfangreich.
    Wenn Dir jemand helfen soll, solltest Du konkreter Deine Umgebung beschreiben das config File Posten und auch das Script.

    Ansonsten kann ich nnur raten.
    Ich könnte Dich ja auch mal fragen, Du bei mir läuft seit 3 Tagen Jbuilder nicht mehr.
    Woran könnte das liegen?!?

    Gruss Matze

    1. hi Matze

      dank dir für die antwort.

      ich habe nichts veränderet weder am System (xp) noch am apache und alle anderen scripte laufen ja. nur diese eine nicht und ich habe keinen anhaltspunkt wo ich suchen soll. das script hat über 1300 zeilen (ich glaube die will hier keiner sehen)

      was mir helfen könnte wären tips was ich mal überprüfen sollte.

      besten dank

      bis bis roman

      --
      P.S. manchmal wundere ich mich schon über die postings (fragen u. antworten) die man hier geboten bekommt(meine eigenen [leider] mit eingenommen)
      => ich denke mir meinen teil und ziehe das beste daraus :-)
      ss:( zu:) ls:} fo:) de:> va:) ch:] sh:( n4:° rl:( br:^ js:| ie:( fl:( mo:)
      http://emmanuel.dammerer.at/selfcode.html
      1. hallo roman,

        ich habe nichts veränderet weder am System (xp) noch am apache und alle anderen scripte laufen ja.

        Zwar gibt es den schönen Grundsatz, daß man ein laufendes System nicht ändern sollte, aber hast du dir schonmal überlegt, daß Apache 1.3.12 für WinXP denn doch ein bißchen zu alt sein könnte? Du solltest dir da mindestens den Apache 1.3.28 aufspielen, und für WinXP kann man auch 2.0.47 empfehlen.

        nur diese eine nicht und ich habe keinen anhaltspunkt wo ich suchen soll.

        Wir hier im Forum leider auch nicht.

        das script hat über 1300 zeilen (ich glaube die will hier keiner sehen)

        Nein, nicht alle. Aber so die ersten 20 könnten schon von Interesse sein. Vielleicht sprichst du ja irgendein Modul an, das es beim Apache 1.3.12 noch gar nicht gibt?

        Grüße aus Berlin

        Christoph S.

        1. hi Christoph

          dank dir für deine Antwort (ich arbeite demnächst mit Linux und dann auch mit dem Apache 2.????).
          Ich hab den Fehler gefunden. Ich hatte in einer Sub ein einzelnes " und dieses verursacht bei mir das sich perl aufhängt.

          Ich habe das mal in anderen Scripten ausprobiert und dort klappt das auch (ich glaube ich kann morgen eine Kollegen ärgern ;-) ).

          Warum gibt PERL keine Warnug aus?
          Klappt das auch mit neueren Perlversionen? oder mit anderen OS?

          __CODE__
          #!perl.exe -w

          use strict;
          use CGI::Carp qw(fatalsToBrowser);
          "   # <= Fehler!?
          print "Content-type: text/html\n\n";
          print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
          print "<html><head><title>Testausgabe</title>\n";
          print "</head><body>\n";

          my @test=("/tt/gg/tol.jpg",
             "/tt/gg/tol.png",
             "/tt/gg/tol.txt",
             "/tt/gg/tol.gif");
          print @test;
          print "<br>"";  # hier giibt es eine Warung aus
          print "<br>";
            map {/(^/.+?([^/.]+?.(jpg|png|gif)$))/ ? (
              print "$2 ist eine Bilddatei. Der Path ist $1.<br>")
            :-(   # mal ein dummes gesicht machen :-)
              print "war nichts<br>")} @test;
          print "</body></html>\n";
          __CODE__

          bis bis roman

          --

          ss:( zu:) ls:} fo:) de:> va:) ch:] sh:( n4:° rl:( br:^ js:| ie:( fl:( mo:)
          http://emmanuel.dammerer.at/selfcode.html
          1. Servus,

            dann mach doch mal lieber
            #!c:/perl/bin/perl.exe

            rein. Natürlich sinngemäss dort wo Deine Perl.exe eben tatsächlich liegt.

            Unter umständen kan es auch bei Microsoft sein, dass du auf Path inhalte verzichten musst, weil sie in unterschieldichen Umgebungen nicht zwangsläufig auch vorhanden sind.

            Ausserdem ist Perl im Path, dass Du direkt #!perl.exe eingetragen hast??

            Gruss Matze

            1. hi Matze

              Ausserdem ist Perl im Path, dass Du direkt #!perl.exe eingetragen hast??

              jeep perl steht im Path. Christoph hat mich mal angepfiffen weil ich früher immer d:\perl\perl.exe -w geschrieben habe und seit dem kein path mehr :-)

              aber was ist mit dem " ????
              läuft das script bei dir??

              bis bis roman

              --

              ss:( zu:) ls:} fo:) de:> va:) ch:] sh:( n4:° rl:( br:^ js:| ie:( fl:( mo:)
              http://emmanuel.dammerer.at/selfcode.html
              1. hallo Roman,

                jeep perl steht im Path.

                Was zweitrangig ist, solange du dein Script über den Webserver aufrufst (ist aber wichtig, wenn du es von der Konsole aus aufrufen möchtest).

                Christoph hat mich mal angepfiffen weil ich früher immer d:\perl\perl.exe -w geschrieben habe und seit dem kein path mehr :-)

                Ups? Es kann allenfalls sein, daß ich dich mal auf die Verwendung von Slashes in der "shebang" aufmerksam gemacht habe. Auf einem Windows-System sieht meine shebang zum Beispiel immer so aus: #!D:/Perl/bin/perl.exe -w

                aber was ist mit dem " ?

                Genau das, was du vermutet hast. Es ist ein Fehler, der zum Scriptabbruch führt.

                Grüße aus Berlin

                Christoph S.

                1. hi!

                  jeep perl steht im Path.
                  Was zweitrangig ist, solange du dein Script über den Webserver
                  aufrufst (ist aber wichtig, wenn du es von der Konsole aus aufrufen
                  möchtest).

                  Auf Windows höchstens andersum. Denn außer dem Apache unter bestimmten
                  Umständen interpretiert unter Windows meines Wissens kein Programm die
                  Shebang-Zeile -- und der Kommandozeileninterpreter von Windows schon
                  gleich gar nicht.

                  bye, Frank!

                  --
                  Never argue with an idiot. He will lower you to his level and then
                  beat you with experience.
                  1. morgens Frank,

                    jeep perl steht im Path.
                    Was zweitrangig ist, solange du dein Script über den Webserver aufrufst (ist aber wichtig, wenn du es von der Konsole aus aufrufen möchtest).
                    außer dem Apache unter bestimmten Umständen

                    Du meinst, falls bei einem unter Windows aufgesetzten Apache die Direktive "ScriptInterpreterSource" _nicht_ gesetzt ist?

                    interpretiert unter Windows meines Wissens kein Programm die Shebang-Zeile

                    Richtig. Aber perl.exe gibt wenigstens eine Fehlermeldung aus, daß die shebang einen falschen Pfad enthält.

                    und der Kommandozeileninterpreter von Windows schon gleich gar nicht.

                    Wenn du hier unter "Kommandozeileninterpreter von Windows" die cmd.exe verstehst, ist das auch richtig  -  man würde es allerdings mit ein paar Eintragungen in der registry anders festlegen können.

                    Christoph S.