Also, mein script lädt also eine Datei und stellt sie ($pg) dann über HTML in einer textarea dar:
Problem ist klar: Ich muß bestimmte Zeichen vorher escapen, mindestens darf die Zeichenfolge "</textarea>" nicht im Ausgabestring ($pg) vorkommen. Also:
....
Ich möchte aber auch Perl-Scripts editieren können, auch das Script des Editors selbst! Würde ich es so ausgeben, dann würde ja < in ein "<"-Zeichen umgewandelt werden. Also muß cih auch Hashes escapen:
...
Nach dem submitted der textarea müssen die escapten Werte wieder zurückgewandelt werden
....
Bevor der String in die zuvor "gebackupte" Datei geschrieben wird.
Frage: Hab ich beim escapen der Werte noch irgentwas übersehen? Ich möchte jede mögliche (Text-)datei in die textarea laden können, ohne das sich nach dem submit irgentein Buchstabe oder Sonderzeichen ändern würde.
Also wen ich das richtig sehe, muss so nichts escapet werden:
#!/usr/bin/perl -w
use HTML::Entities;
use CGI qw/:standard/;
my $v = "<textarea>";
print header(), start_html();
if(param('action'))
{
print '<pre style="border:1px solid black">' . encode_entities(param('text')) . '</pre>';
}
print start_form()
. textarea(-name=>'text', -value => $v)
. br()
. submit(-name => 'action', -value => 'abschicken')
. end_form();
Struppi.