glfs/general/prog/perl-modules.xml
Randy McMurchy f12395733c Updated the Archive::Tar Perl module to 1.26, added new Perl modules Text::Diff and Algorithm::Diff
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5073 af4574ff-66df-0310-9fd7-8a98e5e911e0
2005-09-17 02:57:20 +00:00

842 lines
35 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY perl_modules_md5sums_download_http "http://anduin.linuxfromscratch.org/sources/BLFS/SVN/Perl_Modules/Perl_Modules.gz.md5sums">
<!ENTITY perl_modules_md5sums_download_ftp "ftp://anduin.linuxfromscratch.org/BLFS/SVN/Perl_Modules/Perl_Modules.gz.md5sums">
]>
<sect1 id="perl-modules" xreflabel="Perl modules">
<?dbhtml filename="perl-modules.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Perl Modules</title>
<indexterm zone="perl-modules">
<primary sortas="a-Perl-modules">Perl modules</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Perl Modules</title>
<para>The <application>Perl</application> module packages add useful
objects to the <application>Perl</application> language. Modules utilized
by packages throughout BLFS are listed here, along with their dependencies.
Most references to <application>Perl</application> modules are in the form
of Module, Module::SubName or Module::Sub::Name, however occasionally
you'll also see Module, Module-SubName or Module-Sub-Name. Most references
on this page are in the latter form, as these are the official package
names.</para>
<itemizedlist spacing="compact">
<listitem>
<para>Download MD5 sums (HTTP):
<ulink url="&perl_modules_md5sums_download_http;"/></para>
</listitem>
<listitem>
<para>Download MD5 sums (FTP):
<ulink url="&perl_modules_md5sums_download_ftp;"/></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-module-info"
xreflabel="Module::Info">The Module::Info Module</bridgehead>
<indexterm zone="perl-modules perl-module-info">
<primary sortas="g-Module-Info">Module::Info</primary>
</indexterm>
<para>One module in particular is shown first, as this module's usefulness
warrants installation, even though it won't be required by many other
modules. The Module::Info module can tell you if a particular module is
included in, or has been installed into your <application>Perl</application>
installation. Additionally, Module::Info can tell you what versions are
installed and what dependencies are required for them. You can even use
Module::Info to gather dependencies of uninstalled modules.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/M/MB/MBARBON/Module-Info-&Module-Info-version;.tar.gz">
Module-Info-&Module-Info-version;</ulink>
(<xref linkend="perl-standard-install"/>)</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-test-pod"
xreflabel="Test::Pod">The Test::Pod Module</bridgehead>
<indexterm zone="perl-modules perl-test-pod">
<primary sortas="g-Test-Pod">Test::Pod</primary>
</indexterm>
<para>Another useful module, and one which is (typically optionally) used
by other modules during the build process is the Test:Pod module. This
module is used to check the validity of POD (Plain Old Documentation)
files. The Test::Pod module is typically included by module authors to
automatically find and check all POD files in a module distribution. This
module and all the dependencies can be installed using the
<xref linkend="perl-standard-install"/>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PE/PETDANCE/Test-Pod-&Test-Pod-version;.tar.gz">
Test-Pod-&Test-Pod-version;</ulink></para>
<itemizedlist>
<listitem>
<para id="perl-pod-simple"><ulink
url="http://www.cpan.org/authors/id/S/SB/SBURKE/Pod-Simple-&Pod-Simple-version;.tar.gz">
Pod-Simple-&Pod-Simple-version;</ulink></para>
<indexterm zone="perl-modules perl-pod-simple">
<primary sortas="g-Pod-Simple">Pod::Simple</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-pod-escapes"><ulink
url="http://www.cpan.org/authors/id/S/SB/SBURKE/Pod-Escapes-&Pod-Escapes-version;.tar.gz">
Pod-Escapes-&Pod-Escapes-version;</ulink></para>
<indexterm zone="perl-modules perl-pod-escapes">
<primary sortas="g-Pod-Escapes">Pod::Escapes</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para id="perl-test-builder-tester"><ulink
url="http://www.cpan.org/authors/id/M/MA/MARKF/Test-Builder-Tester-&Test-Builder-Tester-version;.tar.gz">
Test-Builder-Tester-&Test-Builder-Tester-version;</ulink></para>
<indexterm zone="perl-modules perl-test-builder-tester">
<primary sortas="g-Test-Builder-Tester">
Test::Builder::Tester</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-module-build"
xreflabel="Module::Build">The Module::Build Module</bridgehead>
<indexterm zone="perl-modules perl-module-build">
<primary sortas="g-Module-Build">Module::Build</primary>
</indexterm>
<para>The Module::Build module is a system for building, testing, and
installing <application>Perl</application> modules. It is meant to be an
alternative to ExtUtils::MakeMaker. Developers may alter the behavior of
the module through subclassing in a much more straightforward way than with
MakeMaker. It also does not require a <command>make</command> command on
your system. Most of the Module::Build code is
pure-<application>Perl</application> and written in a very cross-platform
way.</para>
<para>The Module::Build module (as well as any other
<application>Perl</application> module that uses the Module::Build build
system) uses <xref linkend="perl-module-build-install"/>. All the
dependencies can be installed using the
<xref linkend="perl-standard-install"/>.</para>
<note>
<para>The Compress::Zlib module requires the following
<command>sed</command> after untarring the distribution tarball (before
any other build commands) to use the system-installed copy of
<application>Zlib</application>.</para>
<screen><userinput>sed -i -e "s|BUILD_ZLIB = True|BUILD_ZLIB = False|" \
-e "s|INCLUDE = ./zlib-src|INCLUDE = /usr/include|" \
-e "s|LIB = ./zlib-src|LIB = /usr/lib|" \
config.in</userinput></screen>
<para>The Algorithm-Diff module is distributed in
<filename class='extension'>.zip</filename> format and requires
<xref linkend="unzip"/> to extract the archive.</para>
</note>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KW/KWILLIAMS/Module-Build-&Module-Build-version;.tar.gz">
Module-Build-&Module-Build-version;</ulink></para>
<itemizedlist>
<listitem>
<para id="perl-module-signature"><ulink
url="http://www.cpan.org/authors/id/A/AU/AUTRIJUS/Module-Signature-&Module-Signature-version;.tar.gz">
Module-Signature-&Module-Signature-version;</ulink> (optional)</para>
<indexterm zone="perl-modules perl-module-signature">
<primary sortas="g-Module-Signature">Module::Signature</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-digest-sha"><ulink
url="http://www.cpan.org/authors/id/M/MS/MSHELOR/Digest-SHA-&Digest-SHA-version;.tar.gz">
Digest-SHA-&Digest-SHA-version;</ulink></para>
<indexterm zone="perl-modules perl-digest-sha">
<primary sortas="g-Digest-SHA">Digest::SHA</primary>
</indexterm>
</listitem>
<listitem>
<para id="perl-par-dist"><ulink
url="http://www.cpan.org/authors/id/A/AU/AUTRIJUS/PAR-Dist-&PAR-Dist-version;.tar.gz">
PAR-Dist-&PAR-Dist-version;</ulink></para>
<indexterm zone="perl-modules perl-par-dist">
<primary sortas="g-PAR-Dist">PAR::Dist</primary>
</indexterm>
</listitem>
<listitem>
<para><xref linkend="gnupg"/></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para id="perl-extutils-parsexs"><ulink
url="http://www.cpan.org/authors/id/K/KW/KWILLIAMS/ExtUtils-ParseXS-&ExtUtils-ParseXS-version;.tar.gz">
ExtUtils-ParseXS-&ExtUtils-ParseXS-version;</ulink></para>
<indexterm zone="perl-modules perl-extutils-parsexs">
<primary sortas="g-ExtUtils-ParseXS">ExtUtils::ParseXS</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-extutils-cbuilder"><ulink
url="http://www.cpan.org/authors/id/K/KW/KWILLIAMS/ExtUtils-CBuilder-&ExtUtils-CBuilder-version;.tar.gz">
ExtUtils-CBuilder-&ExtUtils-CBuilder-version;</ulink></para>
<indexterm zone="perl-modules perl-extutils-cbuilder">
<primary sortas="g-ExtUtils-CBuilder">ExtUtils::CBuilder</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para id="perl-archive-tar"><ulink
url="http://www.cpan.org/authors/id/K/KA/KANE/Archive-Tar-&Archive-Tar-version;.tar.gz">
Archive-Tar-&Archive-Tar-version;</ulink></para>
<indexterm zone="perl-modules perl-archive-tar">
<primary sortas="g-Archive-Tar">Archive::Tar</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-io-zlib"><ulink
url="http://www.cpan.org/authors/id/T/TO/TOMHUGHES/IO-Zlib-&IO-Zlib-version;.tar.gz">
IO-Zlib-&IO-Zlib-version;</ulink></para>
<indexterm zone="perl-modules perl-io-zlib">
<primary sortas="g-IO-Zlib">IO::Zlib</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-compress-zlib"><ulink
url="http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Zlib-&Compress-Zlib-version;.tar.gz">
Compress-Zlib-&Compress-Zlib-version;</ulink></para>
<indexterm zone="perl-modules perl-compress-zlib">
<primary sortas="g-Compress-Zlib">Compress::Zlib</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><xref linkend="perl-test-pod"/></para>
</listitem>
<listitem>
<para id="perl-text-diff"><ulink
url="http://www.cpan.org/authors/id/R/RB/RBS/Text-Diff-&Text-Diff-version;.tar.gz">
Text-Diff-&Text-Diff-version;</ulink></para>
<indexterm zone="perl-modules perl-text-diff">
<primary sortas="g-Text-Diff">Text::Diff</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-algorithm-diff"><ulink
url="http://www.cpan.org/authors/id/T/TY/TYEMQ/Algorithm-Diff-&Algorithm-Diff-version;.zip">
Algorithm-Diff-&Algorithm-Diff-version;</ulink></para>
<indexterm zone="perl-modules perl-algorithm-diff">
<primary sortas="g-Algorithm-Diff">Algorithm::Diff</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para id="perl-yaml"><ulink
url="http://www.cpan.org/authors/id/I/IN/INGY/YAML-&YAML-version;.tar.gz">
YAML-&YAML-version;</ulink></para>
<indexterm zone="perl-modules perl-yaml">
<primary sortas="g-YAML">YAML</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4" id="perl-module-build-install"
xreflabel="modified build instructions">Module::Build Build and
Installation Instructions</bridgehead>
<screen><userinput>perl Build.PL &amp;&amp;
./Build test</userinput></screen>
<para>Now, as the <systemitem class='username'>root</systemitem> user:</para>
<screen role='root'><userinput>./Build install</userinput></screen>
<bridgehead renderas="sect3" id="perl-html-parser"
xreflabel="HTML::Parser">The HTML::Parser Module</bridgehead>
<indexterm zone="perl-modules perl-html-parser">
<primary sortas="g-HTML-Parser">HTML::Parser</primary>
</indexterm>
<para>The HTML::Parser distribution is a collection of modules that parse
and extract information from HTML documents. In order to use the included
HTML::HeadParser module, you will also need to install
<xref linkend="perl-lwp"/>. The two modules listed below can be installed
using the <application>Perl</application> Module
<xref linkend="perl-standard-install"/>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/G/GA/GAAS/HTML-Parser-&HTML-Parser-version;.tar.gz">
HTML-Parser-&HTML-Parser-version;</ulink></para>
<itemizedlist>
<listitem>
<para id="perl-html-tagset"><ulink
url="http://www.cpan.org/authors/id/S/SB/SBURKE/HTML-Tagset-&HTML-Tagset-version;.tar.gz">
HTML-Tagset-&HTML-Tagset-version;</ulink></para>
<indexterm zone="perl-modules perl-html-tagset">
<primary sortas="g-HTML-Tagset">HTML::Tagset</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-xml-parser"
xreflabel="XML::Parser">The XML::Parser Module</bridgehead>
<indexterm zone="perl-modules perl-xml-parser">
<primary sortas="g-XML-Parser">XML::Parser</primary>
</indexterm>
<para>The XML::Parser module is a <application>Perl</application> extension
interface to James Clark's XML parser,
<application>expat</application>. The module can be installed using the
<application>Perl</application> Module
<xref linkend="perl-standard-install"/>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/M/MS/MSERGEANT/XML-Parser-&XML-Parser-version;.tar.gz">
XML-Parser-&XML-Parser-version;</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="expat"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-sgmlspm"
xreflabel="SGMLSpm">The SGMLSpm Module</bridgehead>
<indexterm zone="perl-modules perl-sgmlspm">
<primary sortas="g-SGMLSpm">SGMLSpm</primary>
</indexterm>
<para>The SGMLSpm module is a <application>Perl</application> library
used for parsing the output from James Clark's SGMLS and NSGMLS
parsers. This module requires modified installation instructions, shown
below.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/D/DM/DMEGG/SGMLSpm-&SGMLSpm-version;.tar.gz">
SGMLSpm-&SGMLSpm-version;</ulink></para>
</listitem>
</itemizedlist>
<para>If your system's <application>Perl</application> version is different
than &LFS-Perl-version;, you'll need to modify the <command>sed</command>
command below to reflect the version you have installed.</para>
<screen><userinput>sed -i -e "s@/usr/local/bin@/usr/bin@" \
-e "s@/usr/local/lib/perl5@/usr/lib/perl5/site_perl/&LFS-Perl-version;@" \
-e "s@/usr/local/lib/www/docs@/usr/share/doc/perl5@" \
Makefile</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install &amp;&amp;
install -v -d -m755 /usr/share/doc/perl5 &amp;&amp;
make install_html &amp;&amp;
rm -v -f /usr/share/doc/perl5/SGMLSpm/sample.pl &amp;&amp;
install -v -m644 DOC/sample.pl /usr/share/doc/perl5/SGMLSpm</userinput></screen>
<bridgehead renderas="sect3" id="perl-tk"
xreflabel="Perl-Tk">The Tk Module</bridgehead>
<indexterm zone="perl-modules perl-tk">
<primary sortas="g-Tk">Tk</primary>
</indexterm>
<para>The <application>Tk</application> module is a
<application>Perl</application> interface to the
<application>Tk</application> package. The goal of this release is Unicode
support via <application>Perl</application>'s and
core-<application>Tk</application>'s use of UTF-8. Tk-&Perl-Tk-version;
builds and loads into a threaded <application>Perl</application> but is NOT
yet thread safe. The module can be installed using the
<application>Perl</application> Module
<xref linkend="perl-standard-install"/>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/N/NI/NI-S/Tk-&Perl-Tk-version;.tar.gz">
Tk-&Perl-Tk-version;</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="tk"/> and <xref linkend="libjpeg"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-net-dns"
xreflabel="Net-DNS">The Net::DNS Module</bridgehead>
<indexterm zone="perl-modules perl-net-dns">
<primary sortas="g-Net-DNS">Net::DNS</primary>
</indexterm>
<para>Net::DNS is a DNS resolver implemented in
<application>Perl</application>. It can be used to perform nearly any type
of DNS query from a <application>Perl</application> script. The Net::DNS
module and all its dependencies can be installed using the
<application>Perl</application> Module
<xref linkend="perl-standard-install"/>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/O/OL/OLAF/Net-DNS-&Net-DNS-version;.tar.gz">
Net-DNS-&Net-DNS-version;</ulink></para>
<itemizedlist>
<listitem>
<para id="perl-digest-hmac"><ulink
url="http://www.cpan.org/authors/id/G/GA/GAAS/Digest-HMAC-&Digest-HMAC-version;.tar.gz">
Digest-HMAC-&Digest-HMAC-version;</ulink></para>
<indexterm zone="perl-modules perl-digest-hmac">
<primary sortas="g-Digest-HMAC">Digest::HMAC</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-digest-sha1"><ulink
url="http://www.cpan.org/authors/id/G/GA/GAAS/Digest-SHA1-&Digest-SHA1-version;.tar.gz">
Digest-SHA1-&Digest-SHA1-version;</ulink></para>
<indexterm zone="perl-modules perl-digest-sha1">
<primary sortas="g-Digest-SHA1">Digest::SHA1</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para id="perl-net-ip"><ulink
url="http://www.cpan.org/authors/id/M/MA/MANU/Net-IP-&Net-IP-version;.tar.gz">
Net-IP-&Net-IP-version;</ulink></para>
<indexterm zone="perl-modules perl-net-ip">
<primary sortas="g-Net-IP">Net::IP</primary>
</indexterm>
</listitem>
<listitem>
<para id="perl-io-socket-inet6"><ulink
url="http://www.cpan.org/authors/id/M/MO/MONDEJAR/IO-Socket-INET6-&IO-Socket-INET6-version;.tar.gz">
IO-Socket-INET6-&IO-Socket-INET6-version;</ulink> (required for
IPv6 support)</para>
<indexterm zone="perl-modules perl-io-socket-inet6">
<primary sortas="g-IO-Socket-INET6">IO::Socket::INET6</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-socket6"><ulink
url="http://www.cpan.org/authors/id/U/UM/UMEMOTO/Socket6-&Socket6-version;.tar.gz">
Socket6-&Socket6-version;</ulink></para>
<indexterm zone="perl-modules perl-socket6">
<primary sortas="g-Socket6">Socket6</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para id="perl-digest-bubblebabble"><ulink
url="http://www.cpan.org/authors/id/B/BT/BTROTT/Digest-BubbleBabble-&Digest-BubbleBabble-version;.tar.gz">
Digest-BubbleBabble-&Digest-BubbleBabble-version;</ulink>
(optional, only used during the test suite)</para>
<indexterm zone="perl-modules perl-digest-bubblebabble">
<primary sortas="g-Digest-BubbleBabble">Digest::BubbleBabble</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-lwp"
xreflabel="LWP">The LWP Module</bridgehead>
<indexterm zone="perl-modules perl-lwp">
<primary sortas="g-LWP">LWP</primary>
</indexterm>
<para>The libwww-perl (LWP) collection is a set of
<application>Perl</application> modules which provides a simple and
consistent application programming interface 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. The LWP modules and all its <application>Perl</application>
module dependencies can be installed using the
<application>Perl</application> Module
<xref linkend="perl-standard-install"/>.</para>
<note>
<para>The Compress::Zlib module requires the following
<command>sed</command> after untarring the distribution tarball (before
any other build commands) to use the system-installed copy of
<application>Zlib</application>.</para>
<screen><userinput>sed -i -e "s|BUILD_ZLIB = True|BUILD_ZLIB = False|" \
-e "s|INCLUDE = ./zlib-src|INCLUDE = /usr/include|" \
-e "s|LIB = ./zlib-src|LIB = /usr/lib|" \
config.in</userinput></screen>
</note>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/G/GA/GAAS/libwww-perl-&LWP-version;.tar.gz">
LWP-&LWP-version;</ulink></para>
<itemizedlist>
<listitem>
<para id="perl-uri"><ulink
url="http://www.cpan.org/authors/id/G/GA/GAAS/URI-&URI-version;.tar.gz">
URI-&URI-version;</ulink></para>
<indexterm zone="perl-modules perl-uri">
<primary sortas="g-URI">URI</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-business-isbn"><ulink
url="http://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISBN-&Business-ISBN-version;.tar.gz">
Business-ISBN-&Business-ISBN-version;</ulink> (optional, only
used during the test suite)</para>
<indexterm zone="perl-modules perl-business-isbn">
<primary sortas="g-Business-ISBN">Business::ISBN</primary>
</indexterm>
<itemizedlist>
<listitem>
<para id="perl-business-isbn-data"><ulink
url="http://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISBN-Data-&Business-ISBN-Data-version;.tar.gz">
Business-ISBN-Data-&Business-ISBN-Data-version;</ulink></para>
<indexterm zone="perl-modules perl-business-isbn-data">
<primary sortas="g-Business-ISBN-Data">Business::ISBN::Data</primary>
</indexterm>
<itemizedlist>
<listitem>
<para><xref linkend="perl-test-pod"/></para>
</listitem>
<listitem>
<para id="perl-test-prereq"><ulink
url="http://www.cpan.org/authors/id/B/BD/BDFOY/Test-Prereq-&Test-Prereq-version;.tar.gz">
Test-Prereq-&Test-Prereq-version;</ulink></para>
<indexterm zone="perl-modules perl-test-prereq">
<primary sortas="g-Test-Prereq">Test::Prereq</primary>
</indexterm>
<itemizedlist>
<listitem>
<para><xref linkend="perl-module-info"/></para>
</listitem>
<listitem>
<para><xref linkend="perl-module-build"/> (optional)</para>
</listitem>
<listitem>
<para id="perl-module-corelist"><ulink
url="http://www.cpan.org/authors/id/R/RG/RGARCIA/Module-CoreList-&Module-Corelist-version;.tar.gz">
Module-CoreList-&Module-Corelist-version;</ulink></para>
<indexterm zone="perl-modules perl-module-corelist">
<primary sortas="g-Module-Corelist">Module::Corelist</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><xref linkend="perl-html-parser"/></para>
</listitem>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Zlib-&Compress-Zlib-version;.tar.gz">
Compress-Zlib-&Compress-Zlib-version;</ulink></para>
</listitem>
<listitem>
<para id="perl-crypt-ssleay"><ulink
url="http://www.cpan.org/authors/id/C/CH/CHAMAS/Crypt-SSLeay-&Crypt-SSLeay-version;.tar.gz">
Crypt-SSLeay-&Crypt-SSLeay-version;</ulink> (optional, for HTTPS
support)</para>
<indexterm zone="perl-modules perl-crypt-ssleay">
<primary sortas="g-Crypt-SSLeay">Crypt::SSLeay</primary>
</indexterm>
<itemizedlist>
<listitem>
<para><xref linkend="openssl"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-date-manip"
xreflabel="Date::Manip">The Date::Manip Module</bridgehead>
<indexterm zone="perl-modules perl-date-manip">
<primary sortas="g-Date-Manip">Date::Manip</primary>
</indexterm>
<para>Date::Manip is a set of routines designed to make any common
date/time manipulation easy to do. Operations such as comparing two times,
calculating a time a given amount of time from another, or parsing
international times are all easily done. From the very beginning, the
main focus of Date::Manip has been to be able to do ANY desired date/time
operation easily.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/S/SB/SBECK/DateManip-&DateManip-version;.tar.gz">
DateManip-&DateManip-version;</ulink>
(<xref linkend="perl-standard-install"/>)</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-finance-quote"
xreflabel="Finance::Quote">The Finance::Quote Module</bridgehead>
<indexterm zone="perl-modules perl-finance-quote">
<primary sortas="g-Finance-Quote">Finance::Quote</primary>
</indexterm>
<para>Finance::Quote is used to get stock quotes from various Internet
sources, including Yahoo! Finance, Fidelity Investments, and the Australian
Stock Exchange. There are two methods of using this module &ndash; a
functional interface that is depreciated, and an object-orientated method
that provides greater flexibility and stability. With the exception of
straight currency exchange rates, all information is returned as a
two-dimensional hash (or a reference to such a hash, if called in a scalar
context).</para>
<para>After you've installed the package, issue
<command>perldoc Finance::Quote</command> for full information.
Alternatively, you can issue <command>perldoc lib/Finance/Quote.pm</command>
after unpacking the distribution tarball and changing into the top-level
directory. The module and dependencies can be installed using the
<application>Perl</application> module
<xref linkend="perl-standard-install"/>.</para>
<note>
<para>To run the regression test suite, you'll need to create a
symbolic link to the <filename class='directory'>test</filename>
directory using the following command after unpacking the tarball
and changing into the root directory of the sources:</para>
<screen><userinput>ln -s test t</userinput></screen>
<para>Some tests will fail depending on certain conditions. See the
<filename>INSTALL</filename> file for full details.</para>
</note>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PJ/PJF/Finance-Quote-&Finance-Quote-version;.tar.gz">
Finance-Quote-&Finance-Quote-version;</ulink></para>
<itemizedlist>
<listitem>
<para id="perl-html-tableextract"><ulink
url="http://www.cpan.org/authors/id/M/MS/MSISK/HTML-TableExtract-&HTML-TableExtract-version;.tar.gz">
HTML-TableExtract-&HTML-TableExtract-version;</ulink></para>
<indexterm zone="perl-modules perl-html-tableextract">
<primary sortas="g-HTML-TableExtract">HTML::TableExtract</primary>
</indexterm>
<itemizedlist>
<listitem>
<para><xref linkend="perl-html-parser"/></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><xref linkend="perl-lwp"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3" id="perl-finance-quotehist"
xreflabel="Finance::QuoteHist">The Finance::QuoteHist Module</bridgehead>
<indexterm zone="perl-modules perl-finance-quotehist">
<primary sortas="g-Finance-QuoteHist">Finance::QuoteHist</primary>
</indexterm>
<para>The Finance::QuoteHist bundle is several modules designed to fetch
historical stock quotes from the web. The module and dependencies can be
installed using the <application>Perl</application> module
<xref linkend="perl-standard-install"/>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/M/MS/MSISK/Finance-QuoteHist-&Finance-QuoteHist-version;.tar.gz">
Finance-QuoteHist-&Finance-QuoteHist-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/M/MS/MSISK/HTML-TableExtract-&HTML-TableExtract-version;.tar.gz">
HTML-TableExtract-&HTML-TableExtract-version;</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="perl-html-parser"/></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><xref linkend="perl-lwp"/></para>
</listitem>
<listitem>
<para><xref linkend="perl-date-manip"/></para>
</listitem>
<listitem>
<para id="perl-text-csv_xs"><ulink
url="http://www.cpan.org/authors/id/J/JW/JWIED/Text-CSV_XS-&Text-CSV_XS-version;.tar.gz">
Text-CSV_XS-&Text-CSV_XS-version;</ulink></para>
<indexterm zone="perl-modules perl-text-csv_xs">
<primary sortas="g-Text-CSV_XS">Text::CSV_XS</primary>
</indexterm>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect2>
<sect2 role="installation" id="perl-standard-install"
xreflabel="build and installation instructions">
<title>Standard Installation of Perl Modules</title>
<para>Install <application>Perl</application> modules by running the
following commands:</para>
<screen><userinput>perl Makefile.PL &amp;&amp;
make &amp;&amp;
make test</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="installation">
<title>(Alternate) Auto Installation of Perl Modules.</title>
<para>There is an alternate way of installing the modules using
<application>Perl</application>'s built-in <command>install</command> command.
The command automatically downloads the source from the CPAN
archive, extracts it, runs the commands mentioned above, and removes the build
tree. You may still need to install dependent library packages before running
the automated installation method.</para>
<para>The first time you run this command, you'll be prompted to enter some
information regarding download locations and methods. This information is
retained in files located in <filename class='directory'>~/.cpan</filename>.
Start the perl shell with the following command as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>perl -MCPAN -e shell</userinput></screen>
<para>Each module may now be installed from this shell with the command:</para>
<screen role="root"><userinput>install <replaceable>[Module::Name]</replaceable></userinput></screen>
<para>For additional commands and help, type <command>help</command>.</para>
<para>Alternatively, for scripted or non-interactive installations, use the
following syntax as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>perl -MCPAN -e 'install <replaceable>[Module::Name]</replaceable>'</userinput></screen>
</sect2>
</sect1>