Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: Including files

by chacham (Vicar)
on Dec 09, 2011 at 13:24 UTC ( #942654=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Including files
in thread Including files

Let me get this straight:

  • ~/abc/moo.pl
  • ~/abc/cow.pm
  • ~/zyx/cow.pm
  • current directory is ~/zyx

moo.pl has:

  • use cow
  • use lib 'cow'

When i execute moo.pl, . is set to ~/zyx, so:

  • use cow means ~/zyx/cow.pm
  • use lib 'cow' means ~/abc/cow.pm

Did i get it right that, basically, there is a difference between the "current" directory and the directory of the pl file. Or, put another way, if i keep all my project files in the same directory, like we do during development, and the directory may change, and the directory i execute it from may change, "use lib" will work "as expected".


Comment on Re^3: Including files
Replies are listed 'Best First'.
Re^4: Including files
by jdporter (Canon) on Dec 09, 2011 at 14:38 UTC
    Did i get it right that

    No. Read lib. use lib 'cow'; is the standard, clean alternative to unshift @INC, 'cow'; It adds a directory to the search locations; it does not identify or pull in any files into the current program.

    if i keep all my project files in the same directory, ... "use lib" will work "as expected".

    No; if you do that, then you never need use lib ... at all, for the simple reason that '.' is in @INC by default.

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
      Please give an example. I would like to get this clear.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (14)
As of 2015-07-07 21:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls