%general-entities; ]> $LastChangedBy$ $Date$ Perl Modules Perl modules Introduction to Perl Modules The Perl module packages add useful objects to the Perl language. Modules utilized by packages throughout BLFS are listed here, along with their dependencies. Installation of the modules shown on this page should be accomplished by installing the listed dependencies (from the bottom and working up to the top) and then the desired module. Most references to Perl modules are in the form of Module, Module::SubName or Module::Sub::Name, though sometimes you'll see Module, Module-SubName or Module-Sub-Name. The references on this page that reflect an external URL are in the latter form, as these are the official package names. Download MD5 sums (HTTP): Download MD5 sums (FTP): Some dependencies, such as the Test-Pod module, are used by several of the listed dependencies of the main module and perhaps also the module being installed. Dependencies such as this are only listed once in the dependency chain for each main module (typically near the bottom-most dependency) to avoid redundancy and additional clutter in the instructions. Archive::Zip-&Archive-Zip-version; Archive::Zip The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files. Archive::Zip-&Archive-Zip-version; (uses the standard ) Date::Manip-&Date-Manip-version; Date::Manip 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. Date::Manip-&Date-Manip-version; (uses the standard ) ExtUtils::Depends-&ExtUtils-Depends-version; ExtUtils::Depends ExtUtils::Depends tries to make it easy to build Perl extensions that use functions and typemaps provided by other perl extensions. This means that a perl extension is treated like a shared library that provides also a C and an XS interface besides the perl one. ExtUtils::Depends-&ExtUtils-Depends-version; (uses the standard ) ExtUtils::PkgConfig-&ExtUtils-PkgConfig-version; ExtUtils::PkgConfig ExtUtils::PkgConfig is a very simplistic interface to , intended for use in the Makefile.PL of perl extensions which bind libraries that pkgconfig knows. ExtUtils::PkgConfig-&ExtUtils-PkgConfig-version; (uses the standard ) Requires: Finance::Quote-&Finance-Quote-version; Finance::Quote 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 – 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). After you've installed the package, issue perldoc Finance::Quote for full information. Alternatively, you can issue perldoc lib/Finance/Quote.pm after unpacking the distribution tarball and changing into the top-level directory. The module and dependencies are installed using the standard Perl module . To run the regression test suite, you'll need a working Internet connection and then create a symbolic link to the test directory using the following command after unpacking the tarball and changing into the root directory of the source tree: ln -s test t Some tests will fail depending on certain conditions. See the INSTALL file for full details. Finance::Quote-&Finance-Quote-version; Glib-&Glib-perl-version; Glib This module is a Perl wrapper around Glib that attempts to provide a perlish interface while remaining as true as possible to the underlying C API, so that any reference materials you can find on using GLib may still apply to using the libraries from perl. Glib-&Glib-perl-version; (uses the standard ) Requires: HTML::Parser-&HTML-Parser-version; HTML::Parser The HTML::Parser distribution is a collection of modules that parse and extract information from HTML documents. The modules listed below are installed using the standard Perl module . HTML::Parser-&HTML-Parser-version; HTML-Tagset HTML::Tagset Test-Pod (optionally used during the tests) (run-time requirement for the included HTML::HeadParser module) HTML::TableExtract-&HTML-TableExtract-version; HTML::TableExtract HTML::TableExtract is a module that simplifies the extraction of the content contained in tables within HTML documents, extracted either as text or encoded element trees. Tables of note may be specified using Headers, Depth, Count, Attributes, or some combination of the four. The module and dependencies are installed using the standard Perl module . HTML::TableExtract-&HTML-TableExtract-version; HTML-Element-Extended HTML::Element::Extended HTML-Tree HTML::Tree Test-Pod (optionally used during the tests) Test-Pod-Coverage (optionally used during the tests) libwww-perl-&LWP-version; (a.k.a. LWP) libwww-perl The libwww-perl (LWP) collection is a set of Perl modules which provide 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 collection and all its Perl module dependencies are installed using the standard Perl module . libwww-perl-&LWP-version; Crypt-SSLeay (optional, for HTTPS support) A testcover Makefile target is created (which creates a /usr/bin/testcover script) if the Extutils-MakeMaker-Coverage module is installed. Net::DNS-&Net-DNS-version; 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. The Net::DNS module and all its dependencies are installed using the standard Perl module . Net::DNS-&Net-DNS-version; Digest-HMAC Digest::HMAC Digest-SHA Digest::SHA1 Net-IP Net::IP IO-Socket-INET (required for IPv6 support) IO::Socket::INET6 Socket6 Socket6 Digest-BubbleBabble Digest::BubbleBabble Test-Pod (optionally used during the tests) SGMLSpm-&SGMLSpm-version; SGMLSpm The SGMLSpm module is a Perl library used for parsing the output from James Clark's SGMLS and NSGMLS parsers. The module is installed using the standard Perl module . SGMLSpm-&SGMLSpm-version; URI-&URI-version; 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. URI-&URI-version; (uses the standard ) XML::Parser-&XML-Parser-version; XML::Parser The XML::Parser module is a Perl extension interface to James Clark's XML parser, expat. The module is installed using the standard Perl module . XML::Parser-&XML-Parser-version; (optionally used during the tests) XML::Simple-&XML-Simple-version; XML::Simple The XML::Simple module is a Perl extension that provides an easy API to read and write XML (especially config files). The module and all dependencies are installed using the standard Perl module . XML::Simple-&XML-Simple-version; One of the following four modules must be installed: XML-SAX XML::SAX XML-NamespaceSupport XML::NamespaceSupport XML-SAX-Expat XML::SAX::Expat XML-LibXML XML::LibXML Tie-IxHash Tie::IxHash Standard Installation of Perl Modules Install Perl modules by running the following commands: perl Makefile.PL && make && make test Now, as the root user: make install When reinstalling a Perl module, sometimes older versions of the module being reinstalled are in other directories specified in @INC. To delete all other versions of the module being reinstalled (not simply older ones) set the UNINST variable: make install UNINST=1 (Alternate) Auto Installation of Perl Modules. There is an alternate way of installing the modules using the cpan shell install command. The command automatically downloads the source from the CPAN archive, extracts it, runs the compilation, testing and installation commands mentioned above, and removes the build source tree. You may still need to install dependent library packages before running the automated installation method. 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. 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.