Provided by: libconfig-find-perl_0.26-2_all bug

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.