AND51: Interpreter in Apacheconfig eintragen um Shebangzeile zu sparen?

Hallo!

Gibt es eine Möglichkeit, den Perl-Interpreter in die Konfiguration von Apache so einzutragen, dass ich mir die Shebang-Zeile sparen kann?
Bei normalen Webspaces habe ich so was schon gesehen, doch jetzt habe ich einen richtigen Server und da geht das nicht standardmäßig.

Habe 2 Programmiersprachen, Perl und PureBasic.
Perl-Dateien (*.pl) soll mit dem Perl-Interpreter,
PureBasic-Dateien (*.pb) sollen mit meinem eigenen Interpreter geöffnet werden.

Unter Windows/Apache gibt es ja

ScriptInterpreterSource registry

womit Apache sich den Perl-Interpreter-Pfad aus der Registry auslesen soll, aber mein Server läuft mit Linux. Wer weiß Rat? Vielen Dank.

  1. Habe etwas neues gefunden:

    <IfModule mod_perl.c>
       <Files ~ (.pl$)>
          SetHandler perl-script
          PerlHandler ModPerl::Registry
          Options ExecCGI
          allow from all
          PerlSendHeader On
       </Files>
       </IfModule>

    Das steht in meiner httpd.include-Datei. Wird anscheinend auf alle *.pl-Dateien angewendet. Kann mir wer die einzelnen Direktiven erklären? Options und allow kenne ich. Aber das andere? Ist das überhaupt relevant für dieses Thema?

    1. Moin Moin!

      Habe etwas neues gefunden:

      <IfModule mod_perl.c>
         <Files ~ (.pl$)>
            SetHandler perl-script
            PerlHandler ModPerl::Registry
            Options ExecCGI
            allow from all
            PerlSendHeader On
         </Files>
         </IfModule>

      Das steht in meiner httpd.include-Datei. Wird anscheinend auf alle *.pl-Dateien angewendet. Kann mir wer die einzelnen Direktiven erklären?

      Ja, die Dokumentation von mod_perl. Das hat teilweise überraschende NEBENWIRKUNGEN im Vergleich zu einem Perl-CGI. Zum Beispiel bei globalen Variablen, Handles und beim Verhalten von BEGIN und END.

      Dass jedes CGI unverändert unter mod_perl läuft, ist leider nur ein schöner Traum. Bei vielen einfachen CGIs funktioniert es, bei komplexen oft nicht.

      Options und allow kenne ich. Aber das andere? Ist das überhaupt relevant für dieses Thema?

      Ja. mod_perl ist etwas völlig anderes als ein Perl-CGI.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Moin Moin!

    Habe 2 Programmiersprachen, Perl und PureBasic.
    Perl-Dateien (*.pl) soll mit dem Perl-Interpreter,

    #!/usr/bin/perl -T -w

    als erste Zeile in der jeweiligen Datei

    PureBasic-Dateien (*.pb) sollen mit meinem eigenen Interpreter geöffnet werden.

    #!/usr/local/bin/deinpbinterpreter

    als erste Zeile in der jeweiligen Datei

    Kommt Dein Interpreter mit # als Kommentarzeichen nicht klar, hast Du ein kleines Problem. So wie ich das sehe, kann PureBasic direkt native Executables erzeugen, wozu also ein eigener Interpreter?

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".