Markus P.: manche Perl Script funktionieren ,manche nicht ?

Hallo,
nun ich hab folgendes Problem :
Ich will verschiedene CGI Scripts aus einem Buch testen, nur manche funktionieren nicht, nämlich diese die in der Shebang Zeile          #!perl/bin/perl stehen haben .Wenn ich es ändere in #!usr/bin/perl (die Ausführung am Server schreibt #!usr/bin/perl vor) funktioniert es trotzdem nicht. Die Scripts ,die im Buch von Haus aus ein #!usr/bin/perl haben funktionieren. es kann ein komischer Zufall sein ,aber wenn 3 Scripts bei #!perl/bin/perl nicht funktionieren kommt mir das schon ein bißchen spanisch vor. Was kann ich da tun, daß diese Scripts funktionieren ?

  1. Hallo,

    Die Shebang-Zeile gibt den lokalen Pfad am Server an, wo der Perlinterpreter zu finden ist.
    Du mußt also den exakten Pfad eintragen. Außerdem ist es sinnvoll, den absoluten Pfad einzutragen, da Du ja nicht weißt, aus welchem Verzeichnis der Webserver die Suche beginnt.
    also
    #!/usr/bin/perl -w
      ^
      `-- Das ist wichtig!

    falls Perl wirklich unter /usr/bin/perl zu finden ist.
    Unter Windows könnte es z.B.:
    #!D:/perl/bin/perl.exe -w
    heißen.

    Noch was, oft treten Probleme auf, wenn Du ein unter Windows erstelltes Script nicht im ASCII-Modus auf den Server überträgst, weil Windows und Unix andere 'Zeilenumbruchskonventionen' haben.

    Die Shebang-Zeile sollte unbedingt mit '-w' beinhalten. Das hat zwar mit Deinem Problem nichts zu tun, aber trotzdem.

    Grüße
      Klaus

    1. Hallo,

      #!/usr/bin/perl -w
        ^
        `-- Das ist wichtig!

      ich kanns gar nicht glauben ,es hat an dem gelegen. Ich hab das / vergessen . Ehrlich gesagt wär ich auf das nie draufgekommen ,daß es an dem liegen könnte.
      Danke für die Hilfe ! =)