OpenOffice::OODoc is an extensible Perl interface allowing direct
read/write operations on files which comply with the
OASIS Open Document Format for Office Applications (ODF),
i.e. the ISO/IEC 26300:2006 standard.
It provides a high-level, document-oriented language, and isolates
the programmer from the details of the file format. It can process
different document classes (texts, spreadsheets, presentations,
and drawings). It can retrieve or update styles and images,
document metadata, as well as text content.
PDF::API2
There seem to be a growing plethora of Perl modules for creating and
manipulating PDF files.
This module is 'The Next Generation' of Text::PDF::API which initially
provided a nice API around the Text::PDF::* modules created by Martin Hosken.
FEATURES
. Works with more than one PDF file open at once
. It presents a object-oriented API to the user
. Supports the 14 base PDF Core Fonts
. Supports TrueType fonts
. Supports Adobe-Type1 Fonts (pfb/pfa/afm)
. Supports native Embedding of bitmap images (jpeg,ppm,png,gif)
. Supports modification of existing pdfs
and import/cloning of pages
This module transforms HTML into PDF, using an assortment of XML
transformations implemented in PDF::FromHTML::Twig.
There is also a command-line utility, html2pdf.pl, that comes with this
distribution.
PDF-Table is intended for table generation using PDF::API2.
p5-POD2-Base is an abstraction of the code in POD2::IT and
POD2::FR. These modules belong to the Italian and the French
translation projects of core Perl pods.
PPI::HTML is the successor to the non-redundant PPI::Format::HTML.
PPI::XS provides XS-based acceleration of the core PPI packages. It
selectively replaces a (small but growing) number of methods throughout
PPI with identical but much faster C versions.
Base class and utility methods for manipulating Perl via PPI. Pulled out from
the Padre::Task::PPI code.
The purpose of the PPIx-Regexp package is to parse regular expressions
in a manner similar to the way the PPI package parses Perl.
Surely the CPAN doesn't need yet another CSV parsing module.
Text::CSV_XS is the standard parser for CSV files. It is fast
as hell, but unfortunately it can be a bit verbose to use.
A number of other modules have attempted to put usability
wrappers around this venerable module, but they have all
focussed on parsing the entire file into memory at once.
This method is fine unless your CSV files start to get large.
Once that happens, the only existing option is to fall back
on the relatively slow and heavyweight XML::SAXDriver::CSV
module.
Parse::CSV fills this functionality gap. It provides a flexible
and light-weight streaming parser for large, extremely large,
or arbitrarily large CSV files.