I think the problem here is that "perl Makefile.PL" will _use_ the value of PERL5LIB which you have set in order to locate any modules necessary during the creation of the Makefile, but will not _pass_ this value to the Makefile itself in any useful manner.
In Fink, "perl Makefile.PL" is called with a bunch of arguments: perl Makefile.PL PREFIX=/sw \ INSTALLPRIVLIB=/sw/lib/perl5 \ INSTALLARCHLIB=/sw/lib/perl5/darwin \ INSTALLSITELIB=/sw/lib/perl5 \ INSTALLSITEARCH=/sw/lib/perl5/darwin \ INSTALLMAN1DIR=/sw/share/man/man1 \ INSTALLMAN3DIR=/sw/share/man/man3 (see the description of CompileScript at http://fink.sourceforge.net/doc/packaging/reference.php#fields ). The relevant variables for you would presumably be the ...LIB ones. -- Dave