Gabor Szabo wrote:
On Sat, Aug 9, 2008 at 1:22 PM, Paul Johnson <[EMAIL PROTECTED]> wrote:
On Sat, Aug 09, 2008 at 01:09:23PM +0300, Gabor Szabo wrote:
If I have the following code in a file called Makefile.PL

use FindBin;
print "$FindBin::Bin\n";

perl Makefile.PL  prints

/home/gabor/work/pugs

no matter where the file is located.

If the file is called a.pl  with the same content
it prints the correct directory as expected.

perl 5.8.8 on Ubuntu
perl -MFindBin -e'print $FindBin::VERSION'  is 1.47

The only environment variable I can see containing pugs is PATH
I suspect you've fallen foul of the problem documented in the KNOWN BUGS
section of the documentation.

It looks like you are right.
Not so surprisingly I don't have an executable a.pl anywhere in my path but I
have such a Makefile.PL in the pugs directory.

(on more good reason for the CPANTS metric checking for *not* executable
Makefile.PL :-)

This is the reason I could not install CPANPLUS as first thing it does
in Makefile.PL it calls

   chdir $FindBin::Bin


As an alternative:

use File::Spec::Functions 'rel2abs';
use File::Basename 'dirname';

chdir dirname( rel2abs( $0 ) );


Tom

Reply via email to