Config::Find::Where(3pm) | User Contributed Perl Documentation | Config::Find::Where(3pm) |
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.
As in Config::Find, all the methods in this package accept a common set of options:
All the methods in this package are class methods (you don't need an object to call them).
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".
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.
The default scope for this method is "app".
The default scope for this method is "app".
For instance:
use lib => Config::Find::Where->lib_dir;
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.
Config::Find
Salvador Fandiño García, <sfandino@yahoo.com>
Barbie, <barbie@missbarbell.co.uk> (some bug fixes and documentation)
Copyright 2003-2015 by Salvador Fandiño García (sfandino@yahoo.com) Copyright 2015 by Barbie (barbie@missbarbell.co.uk)
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2022-12-07 | perl v5.36.0 |