|
![]() ![]() ![]() ![]() ![]() |
mkfiledb.pl |
#!/usr/local/bin/perl -w use Fcntl; use IO::Dir; use DB_File; use strict; my $home = $ENV{'HOME'}; my $database = "$home/.filedb"; my %db; tie(%db, 'DB_File', $database, O_RDWR|O_CREAT|O_TRUNC, 0600, $DB_HASH); chdir($home) && descend("."); untie %db; |
![]() | Problem: Suche aller Dateien eines vorgegebenen Namens
im eigenen Dateibaum. Da der ziemlich umfangreich sein kann,
ist es sinnvoll (z.B. nachts per Cron-Job) eine entsprechende
Datenbank anzulegen (mkfiledb), die dann anschließend
sehr effizient abgefragt werden kann (findfile).
|
![]() | Zur Implementierung wird hier Sleepycat Software's
Berkeley DB verwendet.
|
![]() | $DB_HASH selektiert die Variante einer dynamischen
Hash-Tabelle.
|
![]() ![]() ![]() ![]() ![]() |
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |