Scroll to navigation

Config::Find::Where(3pm) User Contributed Perl Documentation Config::Find::Where(3pm)
 

NAME

Config::Find::Where - Find locations in the native OS fashion

SYNOPSIS

  use Config::Find::Where;
  my $temp_dir=Config::Find::Where->temp_dir( name => 'my_app',
                                              scope => 'process',
                                              create => 1 );
  my $path=Config::Find::Where->bin_dir( scope => 'app' );
  system $path."/app_helper.exe";

ABSTRACT

Config::Find searches for locations using OS dependent heuristics.

DESCRIPTION

After releasing Config::Find I found much of its code could be reused to also find other interesting things like temporary directories, the script location, etc.
This module adds a public API to all the hiden functionality.

OPTIONS

As in Config::Find, all the methods in this package accept a common set of options:
name => "name" or "name/more/names"
specifies the primary application name used to generate the location paths or to search for them.
scope => "user", "global", "app" or "process"
-
create => 1
creates any unexistant directory in the path returned

METHODS

All the methods in this package are class methods (you don't need an object to call them).
$path=Config::Find::Where->temp_dir(%opts)
returns a directory path inside a system temporary location. i.e.:
  Config::Find::Where->temp_dir( name =>'hello/world',
                                 scope => 'process',
                                 create => 1 )
    
returns something similar to
  '/tmp/jacks/hello/974/world/'
    
on unix like systems and
  'C:\Windows\Temp\jacks\hello\974\world'
    
on some Windows ones ('jacks' is supposed to be the current user name and '974' the process number).
The default scope for this method is "user".
$path=Config::Find::Where->bin_dir(%opts)
returns a place to find/place binary files. The default scope for this method is "app".
i.e.
 Config::Find::Where->bin_dir()
    
returns the path to the directory where binaries are located.
Note that this directory is not necessarily the same as the one containing the running script. See documentation for "script_dir" below.
$path=Config::Find::Where->var_dir(%opts)
returns a place to find/place working files.
The default scope for this method is "app".
$path = Config::Find::Where->lib_dir(%opts)
returns a place to find/place library files.
The default scope for this method is "app".
For instance:
  use lib => Config::Find::Where->lib_dir;
    
$path = Config::Find::Where->application_dir(%opts)
returns the application root directory.
$name=Config::Find::Where->script_name()
returns the name of the running script without any path information
$path=Config::Find::Where->script_full_path()
returns the name of the script as the absolute full path to it.
$path=Config::Find::Where->script_dir()
returns the name of the directory containing the current script
Config::Find::Where->create_dir($dir)
creates directory $dir and any needed parents
Config::Find::Where->create_parent_dir($file)
recursively creates all the non existant parent dirs for $file.

EXPORT

None, this module has an OO interface.

BUGS

Some Win32 OSs are not completely implemented and default to inferior modes, but hey, this is a work in progress!!!
Contributions, bug reports, feedback and any kind of comments are welcome.

SEE ALSO

Config::Find

COPYRIGHT AND LICENSE

Copyright 2003-2008 by Salvador Fandin~o Garcia (sfandino@yahoo.com)
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2013-05-26 perl v5.14.2