File::UserDirs(3pm) User Contributed Perl Documentation File::UserDirs(3pm)
NAME
File::UserDirs - Find extra media and documents directories
VERSION
version 0.09
SYNOPSIS
use File::UserDirs qw(:all);
print xdg_desktop_dir; # e.g. /home/user/Desktop
DESCRIPTION
This module can be used to find directories as informally specified by
the Freedesktop.org xdg-user-dirs software. This gives a mechanism to
locate extra directories for media and documents files.
FUNCTIONS
May be exported on request. Also the group ":all" is defined which
exports all methods.
xdg_desktop_dir
my $dir = xdg_desktop_dir;
Returns the desktop directory. Unless changed by the user, this is the
directory Desktop in the home directory.
xdg_documents_dir
my $dir = xdg_documents_dir;
Returns the documents directory. Unless changed by the user, this is the
home directory.
xdg_download_dir
my $dir = xdg_download_dir;
Returns the download directory. Unless changed by the user, this is the
home directory.
xdg_music_dir
my $dir = xdg_music_dir;
Returns the music directory. Unless changed by the user, this is the
home directory.
xdg_pictures_dir
my $dir = xdg_pictures_dir;
Returns the pictures directory. Unless changed by the user, this is the
home directory.
xdg_publicshare_dir
my $dir = xdg_publicshare_dir;
Returns the public share directory. Unless changed by the user, this is
the home directory.
xdg_templates_dir
my $dir = xdg_templates_dir;
Returns the templates directory. Unless changed by the user, this is the
home directory.
xdg_videos_dir
my $dir = xdg_videos_dir;
Returns the videos directory. Unless changed by the user, this is the
home directory.
DIAGNOSTICS
""xdg-user-dir" failed to start: %s"
The executable "xdg-user-dir" could not be run, most likely because
it was not installed. See "DEPENDENCIES".
CONFIGURATION AND ENVIRONMENT
The location of the directories can be specified by the user in the file
$XDG_CONFIG_HOME/user-dirs.dirs. It is a shell file setting a number of
environment variables. To find the exact pathname from Perl, run:
use File::BaseDir qw(config_home);
print config_home('user-dirs.dirs');
Example customised user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/Workspace"
XDG_DOCUMENTS_DIR="$HOME/Files"
XDG_DOWNLOAD_DIR="$HOME/Files/Downloads"
XDG_MUSIC_DIR="$HOME/Files/Audio"
XDG_PICTURES_DIR="$HOME/Files/Images"
XDG_PUBLICSHARE_DIR="$HOME/public_html"
XDG_TEMPLATES_DIR="$HOME/Files/Document templates"
XDG_VIDEOS_DIR="$HOME/Files/Video"
DEPENDENCIES
This module requires the executable xdg-user-dir from the package
"xdg-user-dirs". Source code is available from
<http://cgit.freedesktop.org/xdg/xdg-user-dirs/>.
AUTHORS
• Jaap Karssenberg || Pardus [Larus] <pardus@cpan.org>
• Graham Ollis <plicease@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2003-2021 by Jaap Karssenberg || Pardus
[Larus] <pardus@cpan.org>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
perl v5.36.0 2022-11-19 File::UserDirs(3pm)
Generated by dwww version 1.16 on Tue Dec 16 07:23:28 CET 2025.