Subject: | Ommission in the documentation |
It is obvious once you think about it, but it should be noted in
LIMITATIONS nonetheless: when used in code as in the SYNOPSIS or via
$ perl -Mlocal::lib=[PATH] script.pl
the original versions of some core modules like Cwd, File::Spec,
File::Path and Carp will be used.
Normally this is no problem -- and can't be fixed easily anyways without
bundling your own versions of those in a special namespace -- but might
cause weird bugs down the road.
This bit me hard when trying to use File::Remove, that depends on a
File::Path version that is core since 5.8.9 on perl 5.8.7 ... [don't ask
for details ;)]
How to reproduce (Ubuntu 10.10, perl 5.10.1):
$ perl -E 'use File::Path; say $File::Path::VERSION'
2.07_03
$ cpanm -q -Lextlib File::Path
Successfully installed File-Path-2.08 (upgraded from 2.07_03)
1 distribution installed
$ perl -Mlocal::lib=extlib -E 'use File::Path; say $File::Path::VERSION'
2.07_03
$ eval $( perl -Mlocal::lib=extlib )
$ perl -E 'use File::Path; say $File::Path::VERSION'
2.08