|Think about Loose Coupling|
Re^4: "use lib" and architecture-specific pathsby Intrepid (Deacon)
|on Oct 28, 2008 at 20:52 UTC||Need Help??|
Admittedly a long while ago, FunkyMonk wrote in the follow-up posting to discussion topic ""use lib" and architecture-specific paths":
I looked a lttle harder and it seems the arch dirs are defined to be the same as non-archdirs (this is Debian Testing, BTW):
There's a tool someone wrote precisely because many of us have a hard time understanding the layout of perl installations as an abstraction rather than as simply something they've seen on one familiar machine or so: showPerlDirConfig. Run this script and let it display the way that the directories are laid out for your particular installation.
Here's a quickly-written explanation of what FunkyMonk reported seeing, from a fellow user of Debian (and derivatives)...
Debian Perl is built by the Debian Perl package contributor in a manner that accords with Debian filesystem hierarchy policy as well as not being in any way contrary to Perl "policy" with regards to dir layout (Perl's configure supports laying out the dirs pretty much any way the user sees fit).
That (Debian) policy states, sensibly IMHO, that things which have architecture-dependent characteristics go under a lib/ parent while things that have a cross-architecture or are IOW "architecture-neutral" go under a share/ parent. So your arch perl directories are /usr/lib/perl/5.8 and /usr/lib/perl5 and your non-arch are /usr/share/perl/5.8 and /usr/share/perl5/.
The apparent duplication (2 each of non-/usr/local/ directory parents, for arch and non-arch) is because of the use of vendordirs in the Debian package layout.
In case it isn't obvious, the whole notion of a convention of having a major filesystem branch named share/ is that stuff in it is able to be shared between different computer architectures. It has nothing to do with "sharing" between users, as some might think.