Dr. Andreas Borchert Sektion Angewandte
Informationsverarbeitung
Ingo Melzer Blatt 5
[c]
Implementierung kleiner Datenbanken unter UNIX II (WS 1999/2000)
Abgabetermin 02. Dezember 1999
In der Vorlesung wurde gezeigt, wie man mit Hilfe von
tie
Hashes nutzen kann, um auf einfache Art auf verschiedene Daten zugreifen
zu können. Dies soll nun am Beispiel von Verzeichnissen und Dateien
getestet werden. Schreiben Sie hierfür ein Modul, das diese Funktionalität
bietet. Die Schlüßel des Hashes sollten die Einträge des Verzeichnisses
sein, das tie als Parameter mitgegeben wird, die Werte sollten
dem Inhalt der Einträge entsprechen. Ein Beispiel:
use FileHash;
use strict;
my %files;
tie(%files, 'FileHash', "./testdir/");
foreach my $name (sort keys %files) {
print "$name:\n$files{$name}\n\n";
}
$files{test} = "Blubber";
untie %files;
Dieses Beispiel sollte zuerst alle Dateien und deren Inhalt aus dem
Verzeichnis ./testdir/
ausgeben und dann den Inhalt der Datei
test
auf Blubber
setzen. Abschließend ist noch eine
eingebettete Dokumentation im POD-Format zu erstellen.
Noch ein paar Tips:
- FileDB.pm
eignet sich sehr gut als Rumpf für dieses Blättle und zeigt was zu
machen ist.
- Vorsicht ist besonders beim Testen von
CLEAR
angebracht.
Man löscht sich leicht das ganze Verzeichnis!
- Mit IO::Dir
kann man leicht die Verzeichniseinträge lesen.
- Mit IO::File
bekommt man einfach an den Inhalt der Einträge.
- Machen Sie sich keine Gedanken um binäre Dateien. Das Programm
muß auch nicht mit Sockets und vergleichbarem umgehen können.
Ingo Melzer
1999-11-25