in reply to Unicode::Map cannot be loaded
So, even though you have "/home/lib/perl5/site_perl/5.8.5" already in @INC, this does not automatically extend to include the "x86_64-linux-thread-multi" subdirectory of that path, which is where essential components of this module got installed.
To get around that, add to your normal shell environment a setting for "PERL5LIB", which includes both "/home/lib/perl5/site_perl/5.8.5" and "/home/lib/perl5/site_perl/5.8.5/x86_64-linux-thread-multi".
Or, whenever you write a script that uses that module, add "-I" on the shebang line, with that latter path; or push that path onto @INC and then "require" the module.
Both approaches (fixing the shell environment, adding the path in your scripts) have their down-sides for portability (every user has to modify their shell env., or every script has to have hard-coded paths). Maybe there's yet another way that's better, and if so, I hope someone will post that.
(BTW: please use <code> tags, as per Writeup Formatting Tips, not <pre>, so that long strings get wrapped sensibly -- and/or, edit your post to add line breaks to the error message.) Thanks for fixing the formatting.
UPDATE: In testing out the code snippet suggested in my second reply below, I came to understand the difference between these two shell environment variables that control perl's @INC at run-time:
The proof (on my macosx/darwin/perl5.8.8 system) was that when I set "PERLLIB" to "/Users/graff/perl5/5.8.8", my script actually added "/Users/graff/perl5/5.8.8/darwin-thread-multi-2level" (because it existed but was not in @INC).PERLLIB=... # does NOT interpolate to include OS/build-specific subpa +ths PERL5LIB=... # DOES interpolate to include OS/build-specific subpaths
But if I "unset PERLLIB" and instead set PERL5LIB to "/Users/graff/perl5/5.8.8", my script doesn't do anything, because @INC already has the "darwin-thread-multi-2level" subdir there.
|
|---|