Provided by: libconfig-find-perl_0.31-1_all
Config::Find::Where - Find locations in the native OS fashion
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";
Config::Find searches for locations using OS dependent heuristics.
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 hidden 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 nonexistent 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 nonexistent parent directories for $file. Config::Find::Where->helper_path($file, %opts) searches for a script, based on the directories given in %opts, which are the same as bin_dir() method.
Some Win32 operating systems 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.
Salvador Fandin~o Garcia, <email@example.com>
Barbie, <firstname.lastname@example.org> (some bug fixes and documentation)
COPYRIGHT AND LICENSE
Copyright 2003-2015 by Salvador Fandin~o Garcia (email@example.com) Copyright 2015 by Barbie (firstname.lastname@example.org) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.