Struppi: HTML-Code wird nicht ausgeführt, sondern nur als Text angezeigt

Beitrag lesen

print "Content-Type: text/html\r\n";
print "\r\n";

Das ist aber auch nicht richtig das \n ist ein OS-abhängiger Zeilenumbruch.

Perl ersetzt \n durch \n, \r\n oder \r? Was ist denn das für ein Mist? \n ist mir bislang immer als Zeilenvorschub (ASCII-Zeichen 10) untergekommen, nie als ein "Kommt-drauf-an-Zeilenumbruch". Wie gibt man in Perl denn sicher den Zeilenvorschub aus, mit \x0a?

Naja, für Dateioperatioen ist es wichtig das OS übergreifend ein \n ein Zeilenumbruch ist.

CGI.pm macht das so:

# Define the CRLF sequence.  I can't use a simple "\r\n" because the meaning  
# of "\n" is different on different OS's (sometimes it generates CRLF, sometimes LF  
# and sometimes CR).  The most popular VMS web server  
# doesn't accept CRLF -- instead it wants a LR.  EBCDIC machines don't  
# use ASCII, so \015\012 means something different.  I find this all  
# really annoying.  
$EBCDIC = "\t" ne "\011";  
if ($OS eq 'VMS') {  
  $CRLF = "\n";  
} elsif ($EBCDIC) {  
  $CRLF= "\r\n";  
} else {  
  $CRLF = "\015\012";  
}  
  

Javascript ist toll (Perl auch!)

Kann ich für Perl jetzt gerade nicht nachvollziehen.

Ich schon, du musst dir in Perl über sowas keine Gedanken machen, das ist doch Prima.

Struppi.

--
Javascript ist toll (Perl auch!)