Cheatah: Wie kann ich das CGI Modul beim dekodieren einsetzen ?

Beitrag lesen

Hi,

$inhalt = &query->param('inhalt');

da Du CGI als ':standard' einbindest, brauchst Du "$query->" (btw: "$" statt "&"!) nicht. Einfach nur

my $inhalt = param('inhalt');

weil ich die Daten doch aus QUERY_STRING lesen muss.

Du musst nicht. Sie stehen dort aber (immer noch - bei POST wäre das anders!) in der Form drin, die Du offenbar wünschst.

#!/usr/bin/perl -w

use strict;

use CGI qw(:standard);

$data = "data.txt";

my $data = '/kompletter/pfad/zu/data.txt'; # Im CGI-Kontext ist das aktuelle Verzeichnis undefiniert!

Du kannst natürlich auch versuchen, mit Hilfe von

perldoc -f map
perldoc -f join
etc.

und dem Array param() den String wieder zusammenzusetzen; aber in $ENV{'QUERY_STRING'} steht er ja schon. CGI.pm hat ihn mal auseinandergepflückt, aber deswegen brauchst Du ihn nicht gleich neu aufzubauen.

Sowie Du allerdings auf <form method="POST"> umsteigst, wirst Du das entsprechend machen müssen. STDIN kann nur einmal ausgelesen werden.

Cheatah