::Tips & Tricks / Verschiedenes / Perl / 6. Eingabe Seite drucken
  der verein   projekte   veranstaltungen   hilfestellung   tips & tricks   fun   
 
  
  grunds√§tzliches
  
  fenstermanager
  
  web, mail & news
  
  multimedia
  
  novell/suse
  
  gentoo
  
  VERSCHIEDENES
 externe usb-platten mounten
 datenrettung
 perl
  
  links


home
sitemap
suche
login
hilfeforum
impressum



Finde uns auf:
 

6. Eingabeoperationen

Perl kann Daten aus Dateien, von der Tastatur, Message-Queues, Pipes oder von Sockets lesen. Diese Liste ist beliebig fortsetzbar, da √ľber Module auch Daten von z.B. Datenbanken und News-Servern zu lesen sind.

6.1 Die Standard-Eingabe

Perl verf√ľgt √ľber die vordefinierten Ein-/Ausgabekan√§le STDIN, STDOUT und STDERR. Um einen Wert von der Tastatur (STDIN) zu lesen kann folgendes geschrieben werden:

<typocode>

$a = <STDIN>;

</typocode>

Die eingegebenen Zeichen bis zu einem Zeilenende oder CTRL+D werden der Variablen $a zugewiesen. Die Kurzform wäre:

<typocode>

$a = <>;

</typocode>

6.2 Lesen aus einer Datei

Das folgende Beispiel öffnet eine Datei, liest jede Zeile ein und gibt sie auf den Bildschirm aus.

<typocode>

open(DH, "myfile");

while (<DH>)

{

print;

}

</typocode>

Perl liest eine Zeile der zum Dateihandle DH gehörenden Datei. Die Zeilen werden nicht explizit einer Variablen zugewiesen. Die Anschließende print-Anweisung weiß aber trotzdem was sie ausgeben soll!

 

Das liegt daran, dass Perl die gelesenen Daten, wenn keine explizite Zuweisung stattfindet, der Variablen $_ zuweist.

 

Falls man doch lieber mit Variablen arbeiten möchte kann man entweder explizit eine Zuweisung vornehmen.

<typocode>

 

open(DH, "myfile");

while ($a = <DH>)

{

print $a;

print $_;

}

</typocode>

Das Programm liefert nicht jede Zeile doppelt! Da die Eingabe der Variablen $a zugewiesen wird, ist $_ leer!

6.3 read

Wenn eine bestimmte Menge Bytes von einem Dateideskriptor gelesen werden soll, dann ist read die richtige Funktion.

<typocode>

open(DH, "myfile");

read DH, $a, 10;

</typocode>

Das Beispiel liest 10 Bytes aus der zuvor geöffneten Datei und weist sie der Variablen $a zu.

 

Die Ausgabe einer bestimmten Menge von Zeichen ist einfach √ľber print zu realisieren.