%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 dependencies in the order listed. The Perl Module standard build and installation instructions are shown at the bottom of this page. Archive::Zip-&Archive-Zip-version; Archive::Zip The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files. This module uses the standard . &lfs74_checked; Archive::Zip-&Archive-Zip-version; (MD5 sum: a2f6378911f7f34e8d94f0012408e22b) HTML::Parser-&HTML-Parser-version; HTML::Parser The HTML::Parser distribution is a collection of modules that parse and extract information from HTML documents. This module and the dependency modules use the standard . &lfs74_checked; HTML::Parser-&HTML-Parser-version; (MD5 sum: 9128a45893097dfa3bf03301b19c5efe) HTML::Tagset (circular; howevever, it can be installed after HTML::Parser as it is only a run-time requirement for the included HTML::HeadParser module) 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 dependency modules use the standard . The dependencies should be installed in the order listed below. Ensure you install the dependency chain for each module before installing the modules. &lfs74_checked; libwww-perl-&LWP-version; (MD5 sum: 637d5f1eb61336ca2caa6e026b382f87) Encode::Locale HTML::Form HTTP::Message HTTP::Date IO::HTML LWP::MediaTypes HTTP::Cookies HTTP::Negotiate Net::HTTP WWW::RobotRules HTTP::Daemon File::Listing After the LWP installation, if you want HTTPS protocol support, install the following (application and modules): LWP::Protocol::https IO::Socket::SSL Net::SSLeay Mozilla::CA 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 . &lfs74_checked; Net::DNS-&Net-DNS-version; (MD5 sum: 393e48ec6f28abe5ed30204276e02775) Digest::HMAC IO::Socket::INET (required for IPv6 support) Socket6 SGMLSpm-&SGMLSpm-version; SGMLSpm The SGMLSpm module is a Perl library used for parsing the output from James Clark's SGMLS and NSGMLS parsers. This modules uses the standard . &lfs74_checked; Before beginning the build, issue the following command to prevent an error: chmod -v 644 MYMETA.yml After installed, as the root user: ln -sv sgmlspl.pl /usr/bin/sgmlspl SGMLSpm-&SGMLSpm-version; (MD5 sum: 746c74ae969992cedb1a2879b4168090) 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. This module uses the standard . &lfs74_checked; URI-&URI-version; (MD5 sum: 70f739be8ce28b8baba7c5920ffee4dc) 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 uses the standard . &lfs74_checked; XML::Parser-&XML-Parser-version; (MD5 sum: c320d2ffa459e6cdc6f9f59c1185855e) (optionally used in the test suite) 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). This module and all dependency modules use the standard . &lfs74_checked; XML::Simple-&XML-Simple-version; (MD5 sum: 4d10964e123b76eca36678464daa63cd) XML::SAX (Note: this package does not support parallel build) XML::NamespaceSupport XML::SAX::Base XML::SAX::Expat (Note: this package does not support parallel build) XML::LibXML (recommended for faster parsing) Tie::IxHash (optionally used in the test suite) 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.