Siechfred: Inhalt einer Textdatei in einer Textarea darstellen

Beitrag lesen

open(FH, "datei.txt");

Stets mögliche Fehler abfangen:

open FH, 'datei.txt' || die "Couldn't open, error: $!"

@array = <FH>;

Bitte *immer* das strict-Pragma einsetzen! Bei mir beginnt ein Script (abgesehen von der shebang) stets so:

use strict;  
use diagnostics;

foreach $element (@array)
   {chomp $element;}

Du kannst chomp auch auf die Liste anwenden:

my @array = <FH>;  
chomp @array;

print "@array";

Die Doublequotes sind überflüssig.

Wie kann ich nun ein HTML-Textarea erzeugen und die Daten von der Textdatei in diese Textarea schreiben, daß der Browser dann anzeigen soll.

Verwende für HTML-Ausgaben das CGI-Modul, dort gibt es auch eine Methode für die Ausgabe einer textarea. Und übrigens: Die Zeilenumbrüche solltest du drin lassen, wenn das Inhalt einer Textarea werden soll.

Wer kann mir helfen oder hat sogar ein kleines Anfängerbeispiel für mich ?

use strict;  
use diagnostics;  
use CGI;  
  
my $input;  
  
# für den folgenden Block lies [link:http://perldoc.perl.org/perlfaq5.html#How-can-I-read-in-an-entire-file-all-at-once%3f-slurp-file%2c-slurping@title=perlfaq5]  
{  
  local(*INPUT, $/);  
  open INPUT, 'datei.txt' || die "can't open: $!";  
  $input = <INPUT>;  
}  
my $cgi = CGI->new;  
print $cgi->header( -type => 'text/html', -charset => 'iso-8859-1' ),  
      $cgi->start_html ( -title => 'Testseite' ),  
      $cgi->textarea( -name    => 'test',  
                      -default => $input,  
                      -rows    => 10,  
                      -columns => 50  
                    ),  
      $cgi->end_html;

Zwar kommt da kein valides HTML-Dokument heraus, da das Formular drumherum fehlt, aber das sollte nach Lektüre der Doku kein Problem mehr sein, denke ich.

Siechfred

--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.