GNU/Linux |
CentOS 2.1AS(Slurm) |
|
FindBin(3pm) |
FindBin − Locate directory of original perl script
use FindBin; use lib "$FindBin::Bin/../lib"; or use FindBin qw($Bin); use lib "$Bin/../lib";
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.
$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
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 satisfies both −x and −T then FindBin assumes that it was invoked via the "$ENV{PATH}".
Workaround is to invoke perl as
perl ./filename
FindBin is supported as part of the core perl distribution. Please send bug reports to <perlbug@perl.org> using the perlbug program included with perl.
Graham Barr <gbarr@pobox.com> Nick Ing-Simmons <nik@tiuk.ti.com>
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.
FindBin(3pm) |