Perl - Datei öffnen Und Ausgeben

R

Royal Flush

Hallo zusammen,

ich habe folgendes Problem,

Code:
open (DATEI,"/etc/passwd");
open (OUTPUT,">/source/aufgabe.txt");
close (DATEI);
close (OUTPUT);

wieso kann ich mit diesem Code die Datei passwd nicht ausgeben?

Es kommt immer
Code:
./aufgabe.txt: line 1: syntax error near unexpected token `DATEI,"/etc/passwd"'
./aufgabe.txt: line 1: `open (DATEI,"/etc/passwd");'

bitte um Hilfe, ich bin blutiger Anfänger.
Ich kann mir ausserdem nicht erklären was dieser Befehl "open (DATEI,"/etc/passwd");" macht? Liesst er den Inhalt von passwd ein und speichert es in die Variable DATEI?
 
open() öffnet lediglich einen Dateideskriptor. Wenn du die Datei zum Lesen öffnen willst, wirst du schon 'open(DATEI, "< /etc/passwd");' nehmen müssen, oder anders gesagt... du musst schon angeben, ob du die Datei lesend ("<meinedatei") oder schreibend (">meinedatei") öffnen willst. Um den Inhalt dann vom Deskriptor zu lesen, musst du natürlich auch noch was tun. Nur öffnen und schliessen reicht nicht ganz. Beispiel:
Code:
open(DATEI, "< /etc/passwd");
while($zeile = <DATEI>) {
  print $zeile."\n";
}
close(DATEI);
 
Ist alles gesagt.
Ich verschiebe es aber trotzdem.
Übrigens gibt perldoc -f open sehr gute Beispiele zu dieser Funktion.

Gruß Wolfgang
 

Ähnliche Themen

Wie komme ich an den Inhalt des Inhalts einer Variable?

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

dovecot und postfix Konfiguration Problem

Last mit etc/passwd anzeigen lassen

NagiosGrapher 1.7.1 funktioniert nicht

Zurück
Oben