Alex Rivera | Logout

How do I use a Perl module from a relative location?

Asked 2009-04-25T00:06:24.780
47

I have a dir called foo, and in that I have lib and bin. The scripts in bin need stuff in lib. I do something like this:

#!perl
use strict;
use warnings;
use lib '../lib';
use Foo; # <-- comes from lib

But that means I have to be in the bin dir to run the script. Surely there is a better way. What's the Right Way to do this?

Edit
Report

1 Answer

56

The standard FindBin module does what you want.

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

perldoc FindBin for more.

answered 2009-04-25T02:05:22.687

Your Answer