Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Relative Module Path

by Anneq (Vicar)
on Aug 02, 2004 at 01:50 UTC ( #379171=note: print w/ replies, xml ) Need Help??

in reply to Relative Module Path

After running into this problem several times, I've standardized how I place script and module files in each project. Basically in my project directory, I have a sub-directory for scripts (e.g., cgi-bin) and a sub-directory for my modules (my_lib). Then I can include the following code in any script and it always finds my modules.

#--------------------------------------------------------------------- +-- # Portably Include My Perl Modules #--------------------------------------------------------------------- +-- use Cwd; use File::Spec; my $dir; BEGIN { # Prepare lib path $dir = Cwd->getcwd; # Get directory path of script or get web doc +root my @dirs = File::Spec->splitdir( $dir ); # Split path into array pop @dirs; # Take off last directory (e.g., public_html, cgi-bin,. +..) # Put'em togeth & add modules dir $dir = File::Spec->catdir( @dirs, "my_lib"); unshift(@INC, $dir) if (-d $dir); # Incl. my lib if it exists }

Hope that helps,


Comment on Re: Relative Module Path
Download Code
Replies are listed 'Best First'.
Re^2: Relative Module Path
by wfsp (Abbot) on Aug 02, 2004 at 07:22 UTC
    Excellent. Iíve had a long fight with this too. Many thanks. Worth adding to snippets?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://379171]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2015-11-27 08:26 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (722 votes), past polls