Bücher online kostenlos Kostenlos Online Lesen
Perl Programmierung - Grundkurs

Perl Programmierung - Grundkurs

Titel: Perl Programmierung - Grundkurs Kostenlos Bücher Online Lesen
Autoren: Barbara Hohensee
Vom Netzwerk:
zwei Funktionen benötigt:
 
    -         Die Funktion dbmopen öffnet eine Datei und verbindet sie mit einem Hash. Verbinden bedeutet, dass sich jede Änderung an dem Hash auswirkt, als wäre sie direkt mit der Datei gemacht worden.
    -         Die Funktion dbmclose schliesst die Datei ordungsgemäss und speichert datei letzte Daten.
     
    Beispiel:
     
    my %hash;
    my $dateiname = MeineDateinbank;
    dbmopen(%hash, $dateiname, 0644) or die "Kann Datenbank $dateiname nicht oeffnen: $!\";
     
    $hash{Hans} = "Meier";
    $hash{Otto} = "Schmitt";
     
    dbmclose(%hash) or die "Kann Datenbank $dateiname nicht schliessen: $!";
     
     
    Die Funktion dbmopen hat 3 Parameter:
    -         Eine Hash-Variable
    -         Den Namen der Datei, in der die Hash-Variable gespeichert werden soll
    -         Die Zugriffsrechte für diese Datei
     

löschen eines Paares aus dem Hash:
     
    delete $hash{Hans};
     
    Um einen Hash Schritt für Schritt zu durchlaufen gibt es die Funktion each:
     
    while(($schluessel, $wert) = each %hash) {
        print "Der Wert zum Schlüssel $schluessel ist
                  $wert\n";
    }

Dateioperatoren und Verzeichnisse
     

Dateitestoperatoren
     
    Die wichtigsten Dateioperatoren sind –e für die Prüfung der Existenz, -d, um Verzeichnisse zu erkennen und –f, um Dateien zu finden, die keine Verzeichnisse sind.
     
    my $pfad = "/tmp/hilfe.txt";
    if (-e $pfad) {
    print "$pfad existiert\n";
    }
     
    Tabelle der der wichtigsten Dateitestoperatoren
     
Operator
Bedeutung
 
 
 
-e
Datei existiert
-z
Datei hat Länge 0
-s
Datei hat Länge ungleich 0 – gibt Länge zurück
-f
Datei ist eine "normale" Datei also kein Verzeichnis
-d
Datei ist ein Verzeichnis
-T
Datei ist eine Textdatei
-A
Alter der Datei seit letztem Zugriff
     
     
    if (-e $pfad) {print "$pfad existiert\n";}
     
    if (-f $pfad) {print "$pfad ist eine gewoehniche Datei\n";}
     
    if (-d $pfad) {print "$pfad ist ein Verzeichnis\n";}
     
     
    Die Datei-Testoperatoren lassen sich auch auf Datei-Handle anwenden:
     
    open DATEI, $meine_datei;
    print –A DATEI, "\n":
     
    Muster im Namen von Dateinamen erkennen
    Die Funktion glob nimmt ein Muster als Parameter und gibt eine Liste mit allen Dateien zurück, für die das Muster zutrifft.
     
*
Alle Dateien, beliebige Zeichenfolge
 
 
 
a*
Alle Dateien, die mit a beginnen
?
Alle Dateien mit einem beliebigen Zeichen
?.?
Alle Dateien mit der Form a.b
a* b*
Alle Dateien, die entweder mit a oder b anfangen
     
     
    my @dateien = glob("*");
     
    my @l_dateien = glob("l"*);
     
    versteckte Punktdateien unter UNIX finden
     
    my @versteckt = glob(".*");
     
    my $muster = ;                             # Muster einlesen
    chomp($muster);                                           # Zeilenende abschneiden
    @sammeln = glob($muster);               # Dateien aufsammeln

Verzeichnis-Handler
     
    Die Verzeichis-Handler sind opendir, readdir, und closedir.
     

Verzeichnis lesen
     
    opendir VERZEICHNIS, $name
                  or die "Kann Verzeichnis nicht oeffnen: $!\n";
    my @liste = readdir VERZEICHNIS;
    closedir VERZEICHNIS;
     
    In der Liste stehen dann alle Dateien, die in diesem Verzeichnis enthalten sind.
     
     

Datei für Datei
     
    Wenn Sie readdir in einem skalen Kontext aufrufen, bekommen Sie die Dateien eine nach der anderen und schliesslich  undef, wenn nichts mehr zu lesen ist.
     
     
    opendir VERZEICHNIS, $name
                  or die "Kann Verzeichnis nicht oeffnen: $!\n";
    while(my $skalar = readdir VERZEICHNIS) {
       print "$skalar\n";
    }
    closedir VERZEICHNIS;
     
     
     

Verzeichnisse verändern
     
    Funktionen zum bearbeiten von Verzeichnissen
     
Name
Bedeutung
 
 
 
mkdir
Verzeichnis erzeugen
unlink
Verzeichnis löschen
rename
umbenennen
chmod
Rechte verändern
chown
Eigentümer verändern
utime
Zeitstempel verändern
     
     

Ein Verzeichnis erzeugen
     
    mkdir("/tmp/hilfsverzeichnis", 0777)
       or die "Kann das Verzeichnis nicht anlegen: $!\n";
     

Zugriffsrechte verändern
    Da die Funktion eine Liste von Dateien akzeptiert, wird als erster Parameter das gewünschte Zugriffsrecht angegben, gefolgt von der Liste der Dateinamen
     
    my anz = chmod 0777, "/tmp/datei1 /tmp/mydatei";
    if ($anz < 2) {
       print STDERR "Konnte nicht alle Dateien bearbeiten: $!\n";
     

Eigentümer verändern
    Die Funktion setzt den Besitzer und die Gruppe

Weitere Kostenlose Bücher