| | man : FindBin(3p)
FindBin(3p) Perl Programmers Reference Guide FindBin(3p)
NAME
FindBin - Locate directory of original perl script
SYNOPSIS
use FindBin;
use lib "$FindBin::Bin/../lib";
or
use FindBin qw($Bin);
use lib "$Bin/../lib";
DESCRIPTION
Locates the full path to the script bin directory to allow
the use of paths relative to the bin directory.
This allows a user to setup a directory tree for some
software with directories "<root>/bin" and "<root>/lib",
and then the above example will allow the use of modules
in the lib directory without knowing where the software
tree is installed.
If perl is invoked using the -e option or the perl script
is read from "STDIN" then FindBin sets both $Bin and
$RealBin to the current directory.
EXPORTABLE VARIABLES
$Bin - path to bin directory from where script was invoked
$Script - basename of script from which perl was invoked
$RealBin - $Bin with all links resolved
$RealScript - $Script with all links resolved
KNOWN ISSUES
If there are two modules using "FindBin" from different
directories under the same interpreter, this won't work.
Since "FindBin" uses a "BEGIN" block, it'll be executed
only once, and only the first caller will get it right.
This is a problem under mod_perl and other persistent Perl
environments, where you shouldn't use this module. Which
also means that you should avoid using "FindBin" in mod-
ules that you plan to put on CPAN. To make sure that
"FindBin" will work is to call the "again" function:
use FindBin;
FindBin::again(); # or FindBin->again;
In former versions of FindBin there was no "again" func-
tion. The workaround was to force the "BEGIN" block to be
executed again:
delete $INC{'FindBin.pm'};
require FindBin;
perl v5.8.8 2002-10-27 1
FindBin(3p) Perl Programmers Reference Guide FindBin(3p)
KNOWN BUGS
If perl is invoked as
perl filename
and filename does not have executable rights and a program
called filename exists in the users $ENV{PATH} which sat-
isfies both -x and -T then FindBin assumes that it was
invoked via the $ENV{PATH}.
Workaround is to invoke perl as
perl ./filename
AUTHORS
FindBin is supported as part of the core perl distribu-
tion. Please send bug reports to <perlbugATperl.org> using
the perlbug program included with perl.
Graham Barr <gbarrATpobox.com> Nick Ing-Simmons
<nikATtiuk.com>
COPYRIGHT
Copyright (c) 1995 Graham Barr & Nick Ing-Simmons. All
rights reserved. This program is free software; you can
redistribute it and/or modify it under the same terms as
Perl itself.
perl v5.8.8 2002-10-27 2
|