Thema Dateien Freitag, 30.3.2007, 00:00:49 Uhr
eof - Prüft, ob Dateiende erreicht ist Mit dem Befehl eof() fragen Sie eine geöffnete Datei darauf ab, ob das Dateiende erreicht ist.
eof bedeutet übrigens end of file, also Ende der Datei, ins deutsche übersetzt.
Syntax eof(DATEI); Weiterlesen...
Donnerstag, 29.3.2007, 00:04:45 Uhr
open() - Dateien zum Lesen oder Schreiben öffnen in Perl Mit dem Befehl open() werden in Perl Dateien zum Lesen, Schreiben oder Ausführen geöffnet. Als Parameter werden erwartet:
- das Dateihandle
- der Dateiname, inklusive Pfadangaben
Mit Hilfe der >, < und |-Zeichen vor dem Dateinamen bzw. Pfadnamen kann man zusätzlich festlegen, ob eine Datei zum Lesen, Schreiben, Anbhängen oder Auführen geöffnet werden soll. Wird nichts angegeben, wird eine Datei zum Lesen geöffnet. Weiterlesen...
Montag, 26.3.2007, 09:50:14 Uhr
Datei komplett einlesen - Die exotische Variante Beim stöbern im Netz hab ich folgendes entdeckt:
open (FILEHANDLE,"<test.txt"); my $string = do { local $/; <FILEHANDLE> }; print $string;
|
Der Inhalt der Datei test.txt wird komplett in $string eingelesen. Ohne Schleife oder sonstwas. Wie geht das? Also, die Datei wird geöffnet, so weit alles klar. Weiterlesen...
Montag, 26.3.2007, 00:04:27 Uhr
opendir() - Verzeichnis öffnen zum Auslesen in Perl Mit dem Befehl opendir() kann man unter Perl ein Verzeichnis zum Einlesen öffnen. Dies wird im Allgemeinen dazu verwendet, eine Dateiliste einzulesen um sie weiter zu verarbeiten.
Syntax $result=opendir(handle,verzeichnis);
Das handle kann frei gewählt werden, als Verzeichnis sind Angaben in relativer als auch absoluter Form erlaubt, also zum Beispiel '../test' oder '/usr/bin' (Unix) oder unter DOS 'c:/'. Weiterlesen...
Dienstag, 27.2.2007, 10:16:56 Uhr
Bestimmte Dateien eines Ordners suchen - Suchen nach Dateiendungen - Beispiel aus der Praxis Oft steht man vor dem Problem, daß man aus einem bestimmten Ordner alle Dateien eines bestimmten Typs suchen muß. Natürlich ging auch mir das schon öfters so, also hab ich mir eine kleine Funktion gestrickt, die mir alle Dateien zurückgibt.
#!/usr/bin/perl
# zum Testen der Funktion
use strict;
print join("\n",&alle_dateien("./","txt")); exit;
sub alle_dateien{ # Parameter 1: Ordnername, relativ zum Script # Parameter 2: Endung ohne . # gibt alle Dateien als Array zurück (unsortiert) # $endung = leer : Alle Dateien zurückgeben
my $ordner=shift; my $endung=shift; die "Kein Ordner angegeben" if ($ordner eq '');
if ($endung ne ''){ $endung=~ s/^\.//; $endung='\.'.$endung; } local *in;
opendir (in,"$ordner") || die "Can not open directory $ordner: $!";
return grep {$_=~ /$endung$/ && !-d "$ordner/$_" } readdir(in); }
|
Weiterlesen...
Mittwoch, 21.2.2007, 21:49:33 Uhr
Dateien öffnen - Sicherheitsrisiko von Benutzereingaben Dateien öffnen als Sicherheitsrisiko... tja, kann man denken, was soll da schon großartig passieren.
Aber Vorsicht, ein unsauberes Programm wie das Folgende kann es unliebsamen Zeitgenossen ermöglichen, Zugriff auf Ihren Server zu erlangen.
... #Hier werden Parameter eingelesen, die Ihre Webseitenbesucher eingeben können, unter anderem auch den Parameter $datei open (in,"<daten/$datei.txt"); print <in>; close in;
|
Weiterlesen...
Montag, 19.2.2007, 23:08:56 Uhr
Dateien öffnen mit Fehlerabfrage Also, wie man Dateien mit Perl öffnet ist ja hoffentlich klar geworden, wenn nicht, kann man es hier nachlesen.Allerdings hatte die Geschichte einen kleinen Schönheitsfehler: Wenn es die Datei nicht gibt, wird in keinster Weise mit einer Fehlermeldung reagiert. Manchmal ist es ja auch nicht so wichtig, daß eine Fehlermeldung erscheint, manchmal jedoch ist es "lebenswichtig" für die Funktion des Programmes. Perl unterbricht nicht, wie andere Programmiersprachen, von sich aus die Ausführung des Scriptes, wenn eine Datei sich nicht öffnen läßt!
Weiterlesen...
Samstag, 17.2.2007, 19:45:21 Uhr
Datei einlesen in Perl Eine Textdatei kann man folgendermaßen komplett einlesen, also in einem Rutsch:
open (in,"<$dateiname"); @datei= <in>; close in;
|
Der Inhalt der Datei wird im Array @datei eingelesen und steht dort zur Verfügung. Jede Textzeile, getrennt durch einen Zeilenumbruch (Enter, Eingabe, \n, oder wie man es nennen mag) ist ein Element.
Weiterlesen...
Dienstag, 6.2.2007, 20:44:15 Uhr
Den absoluten Pfad eines Scriptes auf dem Server feststellen Zwischendurch mal wieder etwas fortgeschritteneres, ein Problem das sich mir heute stellte: Wie stelle ich den absoluten Pfad eines Scriptes auf dem Server fest?
Nachdem ich mal bei Gurgel nachgesehen habe und nichts brauchbares gefunden habe, hab ich mir mal all die Perl-Befehle durchgeduckt, die damit zu tun haben könnten. Aber auch da war nichts zu finden. Fündig wurde ich schließlich bei den Umgebungsvariablen. Weiterlesen...
Montag, 29.1.2007, 11:19:42 Uhr
Datei zeilenweise einlesen mit Perl Eine Datei zeilenweise einlesen
Warum sollte man eine Datei zeilenweise einlesen, wenn man sie doch auf einen Rutsch haben kann (siehe Datei komplett einlesen)?Antwort: Weil sie vielleicht zu groß ist, oder weil nicht alle Elemente gebraucht werden, sondern nur bestimmte.
Also erstmal der Code: Weiterlesen...
|