Perl Modules

Introduction to Perl Modules

The Perl module packages (also referred to as Distributions, because each can contain multiple modules) add useful objects to the Perl language. The packages listed on this page are required or recommended for other packages in the book. If they have dependent modules, those are either on this page or else on the next page (Perl Module Dependencies).

In many cases, only the required or recommended dependencies are listed - there might be other modules which allow more tests to be run, but omitting them will still allow the tests to PASS.

For a few modules, the BLFS editors have determined that other modules still listed as prerequisites are not required, and omitted them.

Where an alphabetically-earlier dependency of the same module pulls in a dependency, it is not mentioned for the later dependencies of the same module. You should build the listed dependencies in order.

It is generally worth running the tests for perl modules, they often can show problems such as missing dependencies which are required to use the module. Here, the editors have attempted to separate those dependencies which are only required for running test suites, but they will not be mentioned for a module where one of its dependencies uses that module for its own test suite. That is to say, if you intend to run the test suites, please run them for each dependency of the module.

It is possible to automatically install the current versions of a module and all missing or too-old dependencies recommended by upstream using CPAN. See CPAN automated install of perl modules at the end of this page.

Most of these modules only install files below /usr/lib/perl5/site_perl/5.xx.y and those will not be documented. One or two install programs (mostly, perl scripts), or a library, into /usr/bin/ or /usr/lib/ and these are documented.

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/perl-modules

Archive::Zip-1.68

Introduction to Archive::Zip

The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Archive::Zip Dependencies

Recommended (for the test suite)

UnZip-6.0 (with its patch)

Optional

Test-MockModule-v0.176.0

Installation of Archive::Zip

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Contents

Installed Programs: crc32

Short Descriptions

crc32

computes and prints to stdout the CRC-32 values of the given files

autovivification-0.18

Introduction to the autovivification module

This module allows you disable autovivification (the automatic creation and population of new arrays and hashes whenever undefined variables are dereferenced), and optionally throw a warning or an error when it would have occurred.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of autovivification

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Business::ISBN-3.007

Introduction to Business::ISBN

The Business::ISBN module is for work with International Standard Book Numbers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Business::ISBN Dependencies

Required

Business-ISBN-Data-20210112.006

Installation of Business::ISBN

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Business::ISMN-1.202

Introduction to Business::ISMN

The Business::ISMN module is for work with International Standard Music Numbers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Business::ISMN Dependencies

Required

Tie-Cycle-1.227

Installation of Business::ISMN

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Business::ISSN-1.005

Introduction to Business::ISSN

The Business::ISSN module is for work with International Standard Serial Numbers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Business::ISSN

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Class::Accessor-0.51

Introduction to Class::Accessor

Class::Accessor generates accessors/mutators for your class.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Class::Accessor

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Data::Compare-1.27

Introduction to Data::Compare

The Data::Compare module compares two perl data structures.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Data::Compare Dependencies

Required

Clone-0.46, File-Find-Rule-0.34

Installation of Data::Compare

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Data::Dump-1.25

Introduction to Data::Dump

Data::Dump provides pretty printing of data structures.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Data::Dump

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Data::Uniqid-0.12

Introduction to Data::Uniqid

Data::Uniqid provides three simple routines for generating unique IDs.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Data::Uniqid

Although the final test fails and reports an Error, the test suite returns a status of 0. The error can safely be ignored.

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

DateTime::Calendar::Julian-0.107

Introduction to DateTime::Calendar::Julian

DateTime::Calendar::Julian implements the Julian Calendar.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

DateTime::Calendar::Julian Dependencies

Required

DateTime-1.59

Installation of DateTime::Calendar::Julian

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

DateTime::Format::Builder-0.83

Introduction to DateTime::Format::Builder

DateTime::Format::Builder created DateTime parser classes and objects.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

DateTime::Format::Builder Dependencies

Required

DateTime-Format-Strptime-1.79 and Params-Validate-1.31

Installation of DateTime::Format::Builder

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Encode::EUCJPASCII-0.03

Introduction to Encode::EUCJPASCII

Encode::EUCJPASCII provides an eucJP-open (Extended Unix Code, Japanese) mapping.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Encode::EUCJPASCII

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Encode::HanExtra-0.23

Introduction to Encode::HanExtra

The Encode::HanExtra module provides extra sets of Chinese Encodings which are not included in the core Encode module because of size issues.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Encode::HanExtra

This module uses the 'unsafe' build and installation instructions (In perl-5.26.0 the use of the current directory in @INC was removed for security reasons and this module has not been updated) :

PERL_USE_UNSAFE_INC=1 perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Encode::JIS2K-0.03

Introduction to Encode::JIS2K

The Encode::JIS2K module provides JIS X 0212 (aka JIS 2000) Encodings.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Encode::JIS2K

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

File::Slurper-0.014

Introduction to File::Slurper

File::Slurper is a simple, sane and efficient module to slurp a file.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

File::Slurper Dependencies

Recommended (required for the test suite)

Installation of File::Slurper

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

File::Which-1.27

Introduction to File::Which

File::Which provides a portable implementation of the 'which' utility.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of File::Which

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

HTML::Parser-3.81

Introduction to HTML::Parser

The HTML::Parser distribution is a collection of modules that parse and extract information from HTML documents.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

HTML::Parser Dependencies

Required

HTML-Tagset-3.20

Required (runtime)

HTTP-Message-6.44 (its module HTTP::Headers is a run-time requirement for HTML::HeadParser from this distribution).

Installation of HTML::Parser

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

HTTP::Daemon-6.15

Introduction to HTTP::Daemon

Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen on a socket for incoming requests. The HTTP::Daemon is a subclass of IO::Socket::INET, so you can perform socket operations directly on it too.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

HTTP::Daemon Dependencies

Required

HTTP-Message-6.44

[Note]

Note

Makefile.PL and running the tests will complain that Module::Build::Tiny is missing, but that is only needed for Build.PL which is used if the system lacks a C compiler.

Installation of HTTP::Daemon

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

IO::Socket::SSL-2.081

Introduction to IO::Socket::SSL

IO::Socket::SSL makes using SSL/TLS much easier by wrapping the necessary functionality into the familiar IO::Socket interface and providing secure defaults whenever possible.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

IO::Socket::SSL Dependencies

Required

make-ca-1.12 and Net-SSLeay-1.92

Recommended

Installation of IO::Socket::SSL

This module uses a variant of the standard build and installation instructions:

yes | perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Command Explanations

yes: Perl will ask if you wish to run external tests, which will 'fail soft' if there are network problems. The default is 'y', this allows you to script the build.

IO::String-1.08

Introduction to IO::String

IO::String - Emulate file interface for in-core strings.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of IO::String

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

IPC::Run3-0.048

Introduction to IPC::Run3

IPC::Run3 is used to run a subprocess with input/output redirection.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of IPC::Run3

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

JSON-4.10

Introduction to JSON

JSON provides a simple wrapper for JSON::XS-compatible modules with some additional features.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of JSON

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Lingua::Translit-0.29

Introduction to Lingua::Translit

Lingua::Translit and its translit program transliterate text between writing systems.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Lingua::Translit

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Contents

Installed Programs: translit

Short Descriptions

translit

transliterates text between writing systems using various standards

LWP (libwww-perl-6.67)

Introduction to LWP - The World-wide Web library for Perl

The libwww-perl collection is a set of Perl modules which provides a simple and consistent application programming interface (API) to the World-Wide Web. The main focus of the library is to provide classes and functions that allow you to write WWW clients. The library also contains modules that are of more general use and even classes that help you implement simple HTTP servers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libwww-perl Dependencies

Required

File-Listing-6.15, HTTP-Cookies-6.10, HTTP-Daemon-6.15, HTTP-Negotiate-6.01, HTML-Parser-3.81, Net-HTTP-6.22, Try-Tiny-0.31 and WWW-RobotRules-6.02

Recommended (required for the test suite)

Installation of libwww-perl

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

After installing this package, if you want HTTPS protocol support install LWP-Protocol-https-6.10.

Contents

Installed Programs: lwp-download, lwp-dump, lwp-mirror, lwp-request

Short Descriptions

lwp-download

is a script to fetch a large file from the web

lwp-dump

is used to see what headers and content is returned for a URL

lwp-mirror

is a simple mirror utility

lwp-request

is a simple command line user agent

List::AllUtils-0.19

Introduction to List::AllUtils

The List::Allutils module combines List::Util and List::MoreUtils in one bite-sized package.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

List::AllUtils Dependencies

Required

List-SomeUtils-0.59, List-UtilsBy-0.12

Installation of List::AllUtils

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

List::MoreUtils-0.430

Introduction to List::MoreUtils

List::MoreUtils provides the stuff missing in List::Util.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

List::MoreUtils Dependencies

Required

Exporter-Tiny-1.006000 and List-MoreUtils-XS-0.430

Installation of List::MoreUtils

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Log::Log4perl-1.57

Introduction to Log::Log4perl

Log::Log4perl provides a Log4j implementation for perl.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Log::Log4perl

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Contents

Installed Programs: l4p-templ

Short Descriptions

l4p-templ

prints out the text of a template Log4perl configuration for starting a new Log4perl configuration file

LWP::Protocol::https-6.10

Introduction to LWP::Protocol::https

LWP::Protocol::https provides https support for LWP::UserAgent (i.e. libwww-perl-6.67). Once the module is installed LWP is able to access sites using HTTP over SSL/TLS.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Additional Download

LWP::Protocol::https Dependencies

Required

IO-Socket-SSL-2.081, libwww-perl-6.67 and make-ca-1.12 with /etc/pki/tls/certs/ca-bundle.crt.

Installation of LWP::Protocol::https

First, apply a patch to use the system certificates (using the CPAN automated install will instead use Mozilla::CA which is usually not up to date and does not use local certificates).

patch -Np1 -i ../LWP-Protocol-https-6.10-system_certs-2.patch

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Module::Build-0.4232

Introduction to Module::Build

Module::Build allows perl modules to be built without a make command being present.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Module::Build

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Note that this module can also be built using Build.PL

Contents

Installed Programs: config_data

Short Descriptions

config_data

is used to query or change the configuration of perl modules

Net::DNS-1.36

Introduction to Net::DNS

Net::DNS is a DNS resolver implemented in Perl. It can be used to perform nearly any type of DNS query from a Perl script.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Net::DNS

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Parse::RecDescent-1.967015

Introduction to Parse::RecDescent

Parse::RecDescent incrementally generates top-down recursive-descent text parsers from simple yacc-like grammar specifications.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Parse::RecDescent

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Parse::Yapp-1.21

Introduction to Parse::Yapp

Parse::Yapp is a Perl extension for generating and using LALR parsers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Parse::Yapp

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Contents

Installed Programs: yapp

Short Descriptions

yapp

is a frontend to the Parse::Yapp module, which lets you create a Perl OO parser from an input grammar file

PerlIO::utf8_strict-0.010

Introduction to PerlIO::utf8_strict

PerlIO::utf8_strict provides a fast and correct UTF-8 PerlIO layer. Unlike perl's default :utf8 layer it checks the input for correctness.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

PerlIO::utf8_strict Dependencies

Recommended (required for the test suite)

Installation of PerlIO::utf8_strict

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Regexp::Common-2017060201

Introduction to Regexp::Common

Regexp::Common provides commonly requested regular expressions.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Regexp::Common

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

SGMLSpm-1.1

Introduction to SGMLSpm

The SGMLSpm module is a Perl library used for parsing the output from James Clark's SGMLS and NSGMLS parsers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of SGMLSpm

Before beginning the build, issue the following command to prevent an error:

chmod -v 644 MYMETA.yml

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

After the package has been installed, run the following command as the root user:

ln -sv sgmlspl.pl /usr/bin/sgmlspl

Contents

Installed Programs: sgmlspl.pl, sgmlspl

Short Descriptions

sgmlspl.pl

is an SGML processor

sgmlspl

is a symbolic link used during the install of DocBook-utils-0.6.14

Sort::Key-1.33

Introduction to Sort::Key

Sort::Key provides a set of functions to sort lists of values by some calculated key value.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Sort::Key

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Test::Command-0.11

Introduction to Test::Command

Test::Command tests the exit status, STDOUT, or STDERR, of an external command.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Test::Command

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Test::Differences-0.69

Introduction to Test::Differences

Test::Differences tests strings and data structures and shows the differences if they do not match.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Test::Differences Dependencies

Required

Text-Diff-1.45,

Recommended (required for the test suite)

Installation of Test::Differences

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Text::BibTeX-0.89

Introduction to Text::BibTeX

Text::BibTeX provides an interface to read and parse BibTeX files.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Text::BibTeX Dependencies

Required

Config-AutoConf-0.320, ExtUtils-LibBuilder-0.08

Installation of Text::BibTeX

This module is built using Build.PL:

perl Build.PL &&
./Build       &&
./Build test

Now, as the root user:

./Build install

Contents

Installed Programs: biblex, libparse, dumpnames
Installed Libraries: libtparse.so

Short Descriptions

biblex

performs lexical analysis on a BibTeX file

bibparse

parses a series of BibTeX files with command line options to control the string post-processing behavior

dumpnames

parses a BibTeX file, splitting 'author' and 'editor' fields into lists of names, and then dumps everything to stdout

libbtparse.so

is a library for parsing and processing BibTeX data files

Text::CSV-2.02

Introduction to Text::CSV

Text::CSV is a comma-separated values manipulator, using XS (eXternal Subroutine - for subroutines written in C or C++) or pure perl.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Text::CSV Dependencies

Recommended

Installation of Text::CSV

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Text::Roman-3.5

Introduction to Text::Roman

Text::Roman allows conversion between Roman and Arabic algorisms (number systems, e.g. MCMXLV and 1945).

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Text::Roman

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Unicode::Collate-1.31

Introduction to Unicode::Collate

Unicode::Collate provides a Unicode collation algorithm.

[Note]

Note

This is a core module. If you are using perl-5.28.0 or later, its version is good enough for biber-2.18 and you do not need to reinstall this module.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of Unicode::Collate

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

Unicode::LineBreak-2019.001

Introduction to Unicode::LineBreak

Unicode::LineBreak provides a UAX #14 Unicode Line Breaking Algorithm.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Unicode::LineBreak Dependencies

Required

MIME-Charset-1.013.1, also Wget-1.21.3 (to download two files from unicode.org in the test suite)

Optional

Installation of Unicode::LineBreak

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

URI-5.17

Introduction to URI

This module implements the URI class. Objects of this class represent "Uniform Resource Identifier references" as specified in RFC 2396 (and updated by RFC 2732). A Uniform Resource Identifier is a compact string of characters that identifies an abstract or physical resource. A Uniform Resource Identifier can be further classified as either a Uniform Resource Locator (URL) or a Uniform Resource Name (URN). The distinction between URL and URN does not matter to the URI class interface. A "URI-reference" is a URI that may have additional information attached in the form of a fragment identifier.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

URI Dependencies

Recommended (required for the test suite)
Optional

Business-ISBN-3.007

Installation of URI

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

XML::LibXML::Simple-1.01

Introduction to XML::LibXML::Simple

The XML::LibXML::Simple module is a rewrite of XML::Simple to use the XML::LibXML parser for XML structures,instead of the plain Perl or SAX parsers.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

XML::LibXML::Simple Dependencies

Required

XML-LibXML-2.0208

Installation of XML::LibXML::Simple

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

XML::LibXSLT-2.002001

Introduction to XML::LibXSLT

XML-LibXSLT provides an interface to libxslt-1.1.37

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

XML::LibXSLT Dependencies

Required

libxslt-1.1.37, XML-LibXML-2.0208

Installation of XML::LibXSLT

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

XML::Simple-2.25

Introduction to XML::Simple

XML::Simple provides an easy API to read and write XML (especially config files). It is deprecated and its use is discouraged.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

XML::Simple Dependencies

Optional

XML-SAX-1.02 (for an alternative parser which will be used if available, otherwise XML::Parser which was installed in LFS will be used),

Installation of XML::Simple

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

XML::Writer-0.900

Introduction to XML::Writer

XML::Writer provides a Perl extension for writing XML documents.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Installation of XML::Writer

This module uses the standard build and installation instructions:

perl Makefile.PL &&
make             &&
make test

Now, as the root user:

make install

CPAN automated install of perl modules

Automatic Installation of Perl Modules.

There is an alternate way of installing the modules using the cpan shell install command. The command automatically downloads the latest source from the CPAN archive for the module and any missing prerequisite modules listed by upstream. Then for each module it extracts it, runs the compilation, the tests and installs it.

You still need to install any non-perl dependencies before running the automated installation method. You may wish to clean out the build/ directory after installing, to free up the space. If any post-install actions such as creating a symlink are mentioned, you should also do those.

The first time you run cpan, you'll be prompted to enter some information regarding download locations and methods. This information is retained in files located in ~/.cpan.

In particular, you may wish to configure it so that Sudo-1.9.13p1 is used for the installs, allowing you to build and test as a regular user. The following examples have not used that approach.

Start the cpan shell by issuing 'cpan' as the root user. Any module may now be installed from the cpan>  prompt with the command:

install <Module::Name>

For additional commands and help, issue 'help' from the cpan>  prompt.

Alternatively, for scripted or non-interactive installations, use the following syntax as the root user to install one or more modules:

cpan -i <Module1::Name> <Module2::Name>

Review the cpan.1 man page for additional parameters you can pass to cpan on the command line.