Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Ankündigungen, News und Feedback > Tutorials > [PERL] Dateizugriffe mittels Perl
Antwort
 
Themen-Optionen
Alt 24.02.2006, 13:05   Nach oben    #1
WarrenFaith
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.793
Standard [PERL] Dateizugriffe mittels Perl

Dieses Tutorial wurde geschrieben von: WarrenFaith

Dateizugriffe in Perl

Bemerkung:
Die verwendete Syntax in Pfadangaben und die Headerzeile sind im Unix-Format. Für Windows ist die erste Zeile ohne Interesse. Vorraussetzung für die Nutzung von Perl unter Windows ist der installierte IIS oder ein anderer Webserver wie z.B. XAMPP. Eine Anleitung zur Installation des IIS wird hier (englisch) gegeben. Stört euch nicht daran, dass es ein ASP-Tutorial ist. Das XAMPP-System ist hier zu finden.


Dateien einlesen

Auf Dateien kann in Perl sehr einfach zugegriffen werden.
Die Grundlage dafür bietet der die Funktion open(NAME, $pfad) und close(NAME). Die Parameter bestehen aus einem Namen, der zur Verdeutlichung und leichteren Lesbarkeit komplett groß geschrieben werden sollte sowie dem dazugehörigen Pfad.
Perl Code:
  1. #!/usr/bin/perl -w
  2. use strict;
  3.  
  4. # Definition der Variablen
  5. my $zeile;
  6. my $pfad = "./daten.txt";
  7.  
  8. # Die Datei wird geöffnet, der Dateistream EINLESEN wird erstellt
  9. open(EINLESEN, $pfad);
  10. # Der Inhalt der Datei wird in ein Array geschrieben
  11. # jede Zeile ist ein Element im Array
  12. @inhalt=<EINLESEN>;
  13. # Der Dateistream EINLESEN wird geschlossen
  14. close(EINLESEN);
  15.  
  16. # Nun wird das Array durchlaufen und auf der Konsole ausgegeben
  17. foreach $zeile (@inhalt) {
  18.     print $zeile;
  19. }
Wichtig zu wissen ist, dass bei relativen Pfadangaben die Pfadbasis der Ort im Dateisystem ist, von dem das Skript aufgerufen wird. Befindet man sich z.B. im /root Ordner und ruft mit folgendem Befehl
Code:
perl /home/skript.pl
das Skript auf, so wird die Datei im Verzeichnis /root gesucht und nicht in /home.
Dementsprechend sollte das Script den Pfad immer schon oben definieren und einen absoluten Pfad verwenden. Damit das ganze dynamisch ist, kann der Pfad dazu auch als Parameter beim Aufruf des Skripts mitgeliefert werden.


Dateien schreiben

In Dateien schreiben ist genauso leicht wie einlesen und von der Syntax her nahezu identisch.
Perl Code:
  1. #!/usr/bin/perl -w
  2. use strict;
  3.  
  4. # Definition der Variablen
  5. my $pfad = ">./ausgabe.txt";
  6.  
  7. # Die Datei wird geöffnet, der Dateistream SCHREIBEN wird erstellt
  8. open(SCHREIBEN, $pfad);
  9. # Wir übermitteln dem Dateistream einen String, welcher in die Datei
  10. # geschrieben wird
  11. print SCHREIBEN "Dies ist eine Testausgabe.\n";
  12. # Der Dateistream SCHREIBEN wird geschlossen
  13. close(SCHREIBEN);
Mit diesem Skript wurde nun eine Datei namens "ausgabe.txt" erstellt und Inhalt dieser ist "Dies ist eine Testausgabe". Mit jedem Aufruf des Skripts wird der Inhalt der Datei überschrieben. Da dies nicht immer wünschenswert ist (z.B. bei Logdateien), kann durch eine kleine Veränderung bewirkt werden, dass neue Daten hinten angehängt werden.
Perl Code:
  1. #!/usr/bin/perl -w
  2. use strict;
  3.  
  4. # Definition der Variablen
  5. # Ein > bedeutet, dass die Datei überschrieben wird
  6. # Zwei > (also >>) hängt neue Daten hinter die vorhandenen
  7. my $pfad = ">>./ausgabe.txt";
  8.  
  9. # Die Datei wird geöffnet, der Dateistream SCHREIBEN wird erstellt
  10. open(SCHREIBEN, $pfad);
  11. # Wir übermitteln dem Dateistream einen String, welcher in die Datei
  12. # geschrieben wird
  13. print SCHREIBEN "Dies ist eine Testausgabe.\n";
  14. # Der Dateistream SCHREIBEN wird geschlossen
  15. close(SCHREIBEN);

Geändert von Jann Hendrik (05.06.2007 um 10:22 Uhr). Grund: link angepasst
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] Simples Caching System mittels Dateien Chr!s Tutorials 5 04.11.2006 23:55
[PERL] Parameterhandling bei Perl WarrenFaith Tutorials 0 01.03.2006 12:33
[PHP] Erstellung und Bearbeitung von Bildern mittels PHP WarrenFaith Tutorials 1 23.08.2005 15:30


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:26 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44