::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:


$a = <STDIN>;

 

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


$a = <>;

 


6.2 Lesen aus einer Datei

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


open(DH, "myfile");

while (<DH>)

{

print;

}

 

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.



open(DH, "myfile");

while ($a = <DH>)

{

print $a;

print $_;

}

 

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.


open(DH, "myfile");

read DH, $a, 10;

 

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.