Let me get this straight:
- ~/abc/moo.pl
- ~/abc/cow.pm
- ~/zyx/cow.pm
- current directory is ~/zyx
moo.pl has:
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". | [reply] [Watch: Dir/Any] |
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 .
| [reply] [Watch: Dir/Any] [d/l] [select] |
Please give an example.
I would like to get this clear.
| [reply] [Watch: Dir/Any] |