File::HomeDir - Heimatverzeichnis und dazugehörige Verzeichnisse ermitteln

| | Kommentare (0)

Jedem Nutzer eines Computers wird eine eigene zentrale Datenablage, sein Heimatverzeichnis, zugewiesen.

Unterhalb des Heimatverzeichnisse werden zusätzlich noch weitere Verzeichnisse für bestimmte Daten, z.B. Bilder oder Musik, angelegt.

File::HomeDir

File::HomeDir von Adam Kennedy bietet eine betriebssystemunabhängige Möglichkeit das Heimatverzeichnis und die dazugehörigen Spezialordner zu ermitteln.

Die niedrige Versionsnummer (0.80) deutet es schon an: File::HomeDir ist noch nicht ganz ausgereift. Für einige typische, eher einfache Fälle kann es jedoch schon eingesetzt werden.

Beispiel (Aktueller User)

#!/usr/bin/perl
use strict;
use warnings;
use File::HomeDir;

# Aktueller User
my $home    = File::HomeDir->my_home;
my $desktop = File::HomeDir->my_desktop;
my $docs    = File::HomeDir->my_documents;
my $music   = File::HomeDir->my_music;
my $pics    = File::HomeDir->my_pictures;
my $videos  = File::HomeDir->my_videos;
my $data    = File::HomeDir->my_data;


print "Home:    $home    \n" if $home;
print "Desktop: $desktop \n" if $desktop;
print "Docs:    $docs    \n" if $docs;
print "Music:   $music   \n" if $music;
print "Bilder:  $pics    \n" if $pics;
print "Videos:  $videos  \n" if $videos;
print "Daten:   $data    \n" if $data;

Ausgabe unter Linux:

Home:    /home/tf    
Desktop: /home/tf 
Docs:    /home/tf    
Music:   /home/tf   
Bilder:  /home/tf    
Videos:  /home/tf  
Daten:   /home/tf

Ausgabe unter Windows:

Home:    C:\Dokumente und Einstellungen\tf
Desktop: C:\Dokumente und Einstellungen\tf\Desktop
Docs:    C:\Dokumente und Einstellungen\tf\Eigene Dateien
Music:   C:\Dokumente und Einstellungen\tf\Eigene Dateien\Eigene Musik
Bilder:  C:\Dokumente und Einstellungen\tf\Eigene Dateien\Eigene Bilder
Videos:  C:\Dokumente und Einstellungen\tf\Eigene Dateien\Eigene Videos
Daten:   C:\Dokumente und Einstellungen\tf\Lokale Einstellungen\Anwendungsdaten

Beispiel (Anderer User)

Dieses Beispiel funktioniert unter Windows leider noch nicht.

#!/usr/bin/perl
use strict;
use warnings;
use File::HomeDir;

# Anderer User
my $user = 'root';
my $home    = File::HomeDir->users_home("$user");
my $desktop = File::HomeDir->users_desktop("$user");
my $docs    = File::HomeDir->users_documents("$user");
my $music   = File::HomeDir->users_music("$user");
my $pics    = File::HomeDir->users_pictures("$user");
my $videos  = File::HomeDir->users_videos("$user");
my $data    = File::HomeDir->users_data("$user");


print "Home:    $home    \n" if $home;
print "Desktop: $desktop \n" if $desktop;
print "Docs:    $docs    \n" if $docs;
print "Music:   $music   \n" if $music;
print "Bilder:  $pics    \n" if $pics;
print "Videos:  $videos  \n" if $videos;
print "Daten:   $data    \n" if $data;

ActiveState Perl

ActiveState liefert File::HomeDir in der Version 0.69 aus. Aktuell ist Version 0.80.Daher sollte File::HomeDir besser per CPAN-Shell installiert werden und nicht per ppm.

C:\>perl -MCPAN -e shell
cpan> install File::HomeDir

Gnome, KDE und andere Desktops für Linux

Diverse Desktops für Linux legen, ähnlich wie Windows, spezielle Ordner für bestimmte Daten an. File::HomeDir findet diese Ordner in der Version 0.80 nicht. Das steht noch auf der Todo-Liste.

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 2.07.08 22:15.

Artikelreihen zu den neuen Features in Perl 5.10 ist der vorherige Eintrag in diesem Blog.

Temporäre Dateien sicher erzeugen - File::Temp ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.