$ mkdir -p TEST/{bin,sl}/lib
$ echo -e "package myLib;\nour \$VERSION=1.1;\n" >TEST/sl/lib/myLib.pm
$ echo -e "package myLib;\nour \$VERSION=1.7;\n" >TEST/bin/lib/myLib.p
+m
$ cp printval.pl TEST/bin
$ cd TEST/bin
$ ./printval.pl
myLib version: 1.7
search path: /home/marco/TEST/bin/lib
/etc/perl
/usr/local/lib/perl/5.10.1
. . .
$ cd ../sl
$ ln --symbolic ../bin/printval.pl printval
$ ./printval
myLib version: 1.1
search path: /home/marco/TEST/sl/lib
/etc/perl
/usr/local/lib/perl/5.10.1
. . .
$ cat ../bin/printval.pl
#!/usr/bin/perl
use strict;
use warnings;
use File::Basename;
use Cwd 'abs_path';
my $f;
BEGIN {
unshift(@INC, abs_path(dirname($0).'/lib'));
}
use myLib;
print "myLib version: ", $myLib::VERSION, "\n";
print "search path: ", join("\n", @INC[0 .. 2], "\t. . ."), "\n";
...roboticus
When your only tool is a hammer, all problems look like your thumb. |