#### Linux From Scratch - Version 7.9

### Chapter 6. Installing Basic System Software

- Prev

  Inetutils-1.9.4

- Next

  XML::Parser-2.44

- Up
- Home

# 6.41. Perl-5.22.1

The Perl package contains the Practical Extraction and Report Language.

Approximate build time: 6.3 SBU
Required disk space: 238 MB

## 6.41.1. Installation of Perl

First create a basic `/etc/hosts` file to be referenced in one of Perl's configuration files as well as the optional test suite:

    echo "127.0.0.1 localhost $(hostname)" > /etc/hosts

This version of Perl now builds the Compress::Raw::Zlib and Compress::Raw::BZip2 modules. By default Perl will use an internal copy of the sources for the build. Issue the following command so that Perl will use the libraries installed on the system:

    export BUILD_ZLIB=False
    export BUILD_BZIP2=0

To have full control over the way Perl is set up, you can remove the “-des” options from the following command and hand-pick the way this package is built. Alternatively, use the command exactly as below to use the defaults that Perl auto-detects:

    sh Configure -des -Dprefix=/usr                 \
                      -Dvendorprefix=/usr           \
                      -Dman1dir=/usr/share/man/man1 \
                      -Dman3dir=/usr/share/man/man3 \
                      -Dpager="/usr/bin/less -isR"  \
                      -Duseshrplib

The meaning of the configure options:

`-Dvendorprefix=/usr`

  This ensures perl knows how to tell packages where they should install their perl modules.

`-Dpager="/usr/bin/less -isR"`

  This ensures that `less` is used instead of `more`.

`-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3`

  Since Groff is not installed yet, Configure thinks that we do not want man pages for Perl. Issuing these parameters overrides this decision.

`-Duseshrplib`

  Build a shared libperl needed by some perl modules.

Compile the package:

    make

To test the results (approximately 2.5 SBU), issue:

    make -k test

Install the package and clean up:

    make install
    unset BUILD_ZLIB BUILD_BZIP2

## 6.41.2. Contents of Perl

Installed programs: c2ph, corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.22.1 (hard link to perl), perlbug, perldoc, perlivp, perlthanks (hard link to perlbug), piconv, pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect, prove, pstruct (hard link to c2ph), ptar, ptardiff, ptargrep, shasum, splain, xsubpp, and zipdetails
Installed libraries: Many which cannot all be listed here
Installed directory: /usr/lib/perl5

### Short Descriptions

a2p | Translates awk to Perl
c2ph | Dumps C structures as generated from cc -g -S
corelist | A commandline frontend to Module::CoreList
cpan | Interact with the Comprehensive Perl Archive Network (CPAN) from the command line
cpan2dist | The CPANPLUS distribution creator
cpanp | The CPANPLUS launcher
cpanp-run-perl | Perl script that is used to enable flushing of the output buffer after each write in spawned processes
enc2xs | Builds a Perl extension for the Encode module from either Unicode Character Mappings or Tcl Encoding Files
encguess | Guess the encoding type of one or several files
find2perl | Translates find commands to Perl
h2ph | Converts `.h` C header files to `.ph` Perl header files
h2xs | Converts `.h` C header files to Perl extensions
instmodsh | Shell script for examining installed Perl modules, and can even create a tarball from an installed module
json_pp | Converts data between certain input and output formats
libnetcfg | Can be used to configure the `libnet` Perl module
perl | Combines some of the best features of C, sed, awk and sh into a single swiss-army language
perl5.22.1 | A hard link to perl
perlbug | Used to generate bug reports about Perl, or the modules that come with it, and mail them
perldoc | Displays a piece of documentation in pod format that is embedded in the Perl installation tree or in a Perl script
perlivp | The Perl Installation Verification Procedure; it can be used to verify that Perl and its libraries have been installed correctly
perlthanks | Used to generate thank you messages to mail to the Perl developers
piconv | A Perl version of the character encoding converter iconv
pl2pm | A rough tool for converting Perl4 `.pl` files to Perl5 `.pm` modules
pod2html | Converts files from pod format to HTML format
pod2latex | Converts files from pod format to LaTeX format
pod2man | Converts pod data to formatted *roff input
pod2text | Converts pod data to formatted ASCII text
pod2usage | Prints usage messages from embedded pod docs in files
podchecker | Checks the syntax of pod format documentation files
podselect | Displays selected sections of pod documentation
prove | Command line tool for running tests against the Test::Harness module
pstruct | Dumps C structures as generated from cc -g -S stabs
ptar | A tar-like program written in Perl
ptardiff | A Perl program that compares an extracted archive with an unextracted one
ptargrep | A Perl program that applies pattern matching to the contents of files in a tar archive
s2p | Translates sed scripts to Perl
shasum | Prints or checks SHA checksums
splain | Is used to force verbose warning diagnostics in Perl
xsubpp | Converts Perl XS code into C code
zipdetails | Displays details about the internal structure of a Zip file

- Prev

  Inetutils-1.9.4

- Next

  XML::Parser-2.44

- Up
- Home