FindBin

Finds the full path to a script's bin directory, letting you use relative paths to that directory without needing to know the actual location:

use FindBin; use lib "$FindBin::Bin/../lib";

or:

use FindBin qw($Bin); use lib "$Bin/../lib";

FindBin exports the following variables:

  • $Bin
  • Path to bin directory from which 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 you invoke Perl with the -e option or read the Perl script from STDIN, then FindBin sets both $Bin and $RealBin to the current directory.