The Perl Advent Calendar needs more articles for 2022. Submit your idea today!


File::HomeDir::FreeDesktop - Find your home and other directories on Unix


This module provides implementations for determining common user directories. In normal usage this module will always be used via File::HomeDir.

This module can operate only when the command xdg-user-dir is available and executable, which is typically achieved by installed a package named xdg-user-dirs or similar.

One can find the latest spec at


  use File::HomeDir;
  # Find directories for the current user
  $home     = File::HomeDir->my_home;        # /home/mylogin
  $desktop  = File::HomeDir->my_desktop;
  $docs     = File::HomeDir->my_documents;
  $music    = File::HomeDir->my_music;
  $pics     = File::HomeDir->my_pictures;
  $videos   = File::HomeDir->my_videos;
  $data     = File::HomeDir->my_data;
  $config   = File::HomeDir->my_config;
  # Some undocumented ones, expect they don't work - use with caution
  $download    = File::HomeDir->my_download;
  $publicshare = File::HomeDir->my_publicshare;
  $templates   = File::HomeDir->my_templates;
  $cache       = File::HomeDir->my_cache;


Jerome Quelin <<gt>

Adam Kennedy <>


File::HomeDir, File::HomeDir::Win32 (legacy)


Copyright 2009 - 2011 Jerome Quelin.

Some parts copyright 2010 Adam Kennedy.

Some parts copyright 2017 - 2020 Jens Rehsack

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.