Alexander Foken: Daten komprimiert senden

Beitrag lesen

Moin Moin !

-T fehlt.
Eigenartigerweise funktioniert dieser Schalter bei mir unter Windows nicht (Perl 5.8). Die Fehlermeldung sieht so aus:
  Premature end of script headers: comprim.pl
  Too late for "-T" option at I:\cgi-bin\comprim.pl line 1.

Ja, weil Perl da schon läuft, und sich dann die Parameter "für Perl" aus der #!-Zeile liest; während unter Unixen der Kernel die #!-Zeile liest und daraus einen Perl-Aufruf bastelt.

Unter Windows geht's wohl wirklich nur mit Workarounds:

Apache: ScriptInterpreterSource Registry ausschalten, dann simuliert der Apache einen Unix-Kernel, was das Interpretieren der #!-Zeile angeht.

Allgemein:
* Scripte *.tpl nennen und *.tpl mit "c:\perl\bin\perl.exe -T %1" verknüpfen.
* Perl-Script in BAT/CMD-Datei verpacken:

@rem = ' (Fokens Eigenbau, geht so nur sauber als CMD unter NT/2K)
@echo off
C:\perl\bin\perl.exe -T -w %0
goto ende
@rem ';
use strict;
print "Hallo Welt!";
__END__
:ende

Oder mit C:\perl\bin\perl2bat.bat eine analoge "Verpackung" bauen und den -T-Switch einbauen.

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"