ISO documentation on Perl's standard directory structure

K

kj

Where is the standard structure for Perl directories and files
documented? I have seen many variants (e.g. /usr/lib/perl5
or /usr/lib/perl/5.8.6, etc.)

I suppose the answer to this question is OS-dependent. I'm most
interested in Linux (Debian and Suse), Mac OS X, ActiveState, and
Cygwin.

Does ExtUtils::MakeMaker read this information from somewhere (e.g.
Config), or is it hard-coded into it? (I made an attempt to read
the source for MakeMaker, but gave up after a couple of fruitless
hours.)

Thanks!

kj
 
S

Sisyphus

kj said:
Where is the standard structure for Perl directories and files
documented? I have seen many variants (e.g. /usr/lib/perl5
or /usr/lib/perl/5.8.6, etc.)

I suppose the answer to this question is OS-dependent. I'm most
interested in Linux (Debian and Suse), Mac OS X, ActiveState, and
Cygwin.

With Win32 the install location is dependent upon options that you specify
in the Win32/Makefile when you build
perl. (Worth browsing through the configurable section of the
Makefile/Makefile.mk to see what's there.) Wrt ActiveState perl, as you
probably know, it installs into something like C:/perl. You can also build a
perl on Win32 that installs into something like C:/perl/5.8.7 by specifying
(in the Win32/Makefile) that you want your perl to be versioned. Here's what
the Makefile contains:

-------------------------------
#
# Comment this out if you DON'T want your perl installation to be versioned.
# This means that the new installation will overwrite any files from the
# old installation at the same INST_TOP location. Leaving it enabled is
# the safest route, as perl adds the extra version directory to all the
# locations it installs files to. If you disable it, an alternative
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
#INST_VER = \5.8.7
-----------------------------

ActiveState, by leaving the Makefile like that, ensure that perl installs
into a non-versioned location (eg C:/perl).
Include that line, however, and perl will install into a versioned location
(eg C:/perl/5.8.7).

For nix type operating systems, the INSTALL file that ships with the perl
source would be a good reference. See also (in the perl source) the
README.OS files (where "OS" stands for a number of specific operating
systems - 'cygwin', 'win32', etc).

Hth.

Cheers,
Rob
 
K

kj

With Win32 the install location is dependent upon options that you specify
in the Win32/Makefile when you build
perl. (Worth browsing through the configurable section of the
Makefile/Makefile.mk to see what's there.) Wrt ActiveState perl, as you
probably know, it installs into something like C:/perl. You can also build a
perl on Win32 that installs into something like C:/perl/5.8.7 by specifying
(in the Win32/Makefile) that you want your perl to be versioned. Here's what
the Makefile contains:
-------------------------------
#
# Comment this out if you DON'T want your perl installation to be versioned.
# This means that the new installation will overwrite any files from the
# old installation at the same INST_TOP location. Leaving it enabled is
# the safest route, as perl adds the extra version directory to all the
# locations it installs files to. If you disable it, an alternative
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
#INST_VER = \5.8.7
-----------------------------
ActiveState, by leaving the Makefile like that, ensure that perl installs
into a non-versioned location (eg C:/perl).
Include that line, however, and perl will install into a versioned location
(eg C:/perl/5.8.7).
For nix type operating systems, the INSTALL file that ships with the perl
source would be a good reference. See also (in the perl source) the
README.OS files (where "OS" stands for a number of specific operating
systems - 'cygwin', 'win32', etc).


Thanks, that's good to know.

kj
 
X

xhoster

Abigail said:
kj ([email protected]) wrote on MMMMCDXXII September MCMXCIII in
<URL:[]
[] Where is the standard structure for Perl directories and files
[] documented? I have seen many variants (e.g. /usr/lib/perl5
[] or /usr/lib/perl/5.8.6, etc.)

In the file called INSTALL that comes with the tarball. (Where else?)

But there's no ISO standard for Perl, or for its installation
directories.

That threw me for a loop for a while, too. But I think ISO means "in
search of", not "international standards organization".

Xho
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top