Subject: | Working Path that includes :: breaks @INC on Unix |
On a *nix system (RedHat 9 specifically), if the cwd contains an element with a double-colon, @INC gets messed up.
t/01_use.............NOK 2
# Failed test (t/01_use.t at line 36)
# Tried to use 'PISG::DCH'.
# Error: Can't locate PISG/DCH.pm in @INC (@INC contains: inc /home/staff/jfitzgibbon/perl/PISG DCH/blib/lib DCH/blib/arch /home/staff/jfitzgibbon/myperl/lib/perl5 /home/staff/jfitzgibbon/myperl/lib/perl5/site_perl /opt/perl5/lib/5.8.7/i686-linux /opt/perl5/lib/5.8.7 /opt/perl5/lib/site_perl/5.8.7/i686-linux /opt/perl5/lib/site_perl/5.8.7 /opt/perl5/lib/site_perl/5.8.6/i686-linux /opt/perl5/lib/site_perl/5.8.6 /opt/perl5/lib/site_perl .) at (eval 10) line 2.
# BEGIN failed--compilation aborted at t/01_use.t line 36.
Note how even though the path includes the element PISG::DCH, @INC splits on the double colon, using the following two directories:
/home/staff/jfitzgibbon/perl/PISG
DCH/blib/lib
instead of the correct directory
/home/staff/jfitzgibbon/perl/PISG::DCH/blib/lib
Even if this isn't a bug, but what one gets for being ignorant of platform-specific issues, it should probably be be caught and explained to the user when 'Build.PL' is executed, not uncermoniously later on when tests are run.
The attached file contains two directories 'Bro::ken' and 'Work-ing'. Both contain the exact same module named 'MB::Test'. Running 'perl Build.PL' followed by './Build test' will illustrate the problem.
Message body not shown because it is not plain text.