Wie schreibt man eine .cgi datei mit hilfe einer .cgi datei?
Bogus
0 Stefan Muenz0 Jörk Behrends0 Cheatah
Hye
Folgende Frage:
Wie kann ich mit Hilfe einer cgi-datei eine cgi-datei schreiben?
Was ich wissen möchte ist die Sache mit den ganzen zeichen wie zb.: ; { } $ " usw.
muss ich diese alle dokumentieren? mit \ oder geht das irgendwie mit dem quotemeta ?
wäre toll wenn ihr da was wisst.
cu
Hallo Bogus
Wie kann ich mit Hilfe einer cgi-datei eine cgi-datei schreiben?
Was ich wissen möchte ist die Sache mit den ganzen zeichen wie zb.: ; { } $ " usw.
Ich nehme mal an, Du redest von Perl. Ganz normal: Datei mit open zum Schreiben oeffnen und dann mit print DATEIHANDLE den gewuenschten Inhalt in die Datei schreiben.
Wenn Du mit einzelnen print-Befehlen arbeitest, musst Du innerhalb dessen, was Du printest, auf jeden Fall maskieren:
" um ein " zu schreiben
\ um ein \ zu schreiben
$ um ein $ zu schreiben
@ um ein @ zu schreiben
% um ein % zu schreiben
Das sind glaube ich die Zeichen, die innerhalb eines Print-Strings von Perl ausgewertet werden und deshalb maskiert gehoeren, wenn man sie eben nur printen will.
Wenn Du mit der Streamvariante print << ENDE arbeitest, brauchst Du meines Wissens " nicht maskieren.
viele Gruesse
Stefan Muenz
Hallo Stefan, hallo Bogus!
Wenn Du mit einzelnen print-Befehlen arbeitest, musst Du innerhalb dessen, was Du printest, auf jeden Fall maskieren:
" um ein " zu schreiben
\ um ein \ zu schreiben
$ um ein $ zu schreiben
@ um ein @ zu schreiben
% um ein % zu schreiben
Das sind glaube ich die Zeichen, die innerhalb eines Print-Strings von Perl ausgewertet werden und deshalb maskiert gehoeren, wenn man sie eben nur printen will.
Leider nur die halbe Wahrheit. Will man einen String nutzen/definieren/ausgeben und bastelt sich diesen mit "...." zusammen, liegst Du völlig richtig. Innerhalb dieser String werden Variablen substituiert. $, @, und % haben hier also eine Spezielle Bedeutung. Man kann aber auch mittels '...' Strings verwenden. Hier wird dann nicht substituirt, so daß folgende Maskierungen von Nöten sind:
' um ein ' zu schreiben
\ um ein \ zu schreiben
Wenn Du mit der Streamvariante print << ENDE arbeitest, brauchst Du meines Wissens " nicht maskieren.
;-) Wobei hier ENDE gleichzusetzen ist mit 'ENDE'. Verwendet man dagegen "ENDE" ... s.o.
Jörk
Hi,
Wenn Du mit der Streamvariante print << ENDE arbeitest, brauchst Du meines Wissens " nicht maskieren.
;-) Wobei hier ENDE gleichzusetzen ist mit 'ENDE'. Verwendet man dagegen "ENDE" ... s.o.
nö:
open(FILE,">$filename");
print FILE << ENDE
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hallo Welt!\n";
exit;
ENDE;
close(FILE);
print "Location: $http_path_to_filename\n\n";
Müßte klappen, vorausgesetzt die Datei ist dann ge-chmod-et ;-)
Cheatah