MARC::Charset allows you to turn MARC-8 encoded strings into UTF-8
strings. MARC-8 is a single byte character encoding that predates
unicode, and allows you to put non-Roman scripts in MARC bibliographic
records.
This is a new try to use Devel::Declare to change the Perl5
language. It learns pretty much everything from Template::Declare,
and has similar interface. With only one difference: how element
attributes are defined.
These modules provide a basis for parsing snort configuration files and
rules, allow tools to be built that muck with rulesets with less effort.
An example tool, snortconfig, is included.
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.
There are two kinds of numbers in English -- cardinals (1,
2, 3...), and ordinals (1st, 2nd, 3rd...). This library
provides functions for giving the ordinal form of a number,
given its cardinal value.
Seamus Venasse <svenasse@polaris.ca>
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.
AsciiDoc is a text document format for writing short documents, articles, books
and UNIX man pages. AsciiDoc files can be translated to HTML and DocBook markups
using the asciidoc(1) command.
Parse::Flex works similar to Parse::Lex, but it uses XS for faster
performance.
This module allows you to construct a lexer analyzer with your custom
rules. Parse::Flex is not intended to be used directly; instead, use the
script makelexer.pl to submit your grammar file. The output of the script
is a custom shared library and a custom .pm module which, among other
things, will transparently load the library and provide interface to your
(custom) lexer. In other words, you supply a grammar.l file to
makelexer.pl and you receive Flex01.pm and Flex02.so . Then, use only the
Flex01.pm - since Flex01.pm will automatically load Flex01.so.
The grammar.l file requires the same syntax as flex(1); that is, the
actions are written in C . See the flex(1) documentation to learn the
syntax, or fetch the sample t/grammar.l file inside this package.
This is a collection of Perl::Critic policies that are not included in the
Perl::Critic core for a variety of reasons:
Experimental
Some policies need some time to work out their kinks, test usability, or
gauge community interest. A subset of these will end up in the core
Perl::Critic someday.
Requires special dependencies
For example, some policies require development versions of PPI (or some
other CPAN module). These will likely end up in the Perl::Critic core when
their dependencies are fulfilled.
Peripheral to Perl
For example, the Editor::RequireEmacsFileVariables policy is metacode.
Also, the Miscellanea::RequireRcsKeywords policy pertains to the
development process, not the code itself. These are not part of
Perl::Critic's mission.
Special purpose
For example, policies like CodeLayout::RequireASCII designed to scratch
itches not felt by most of the community. These will always remain in a
Perl::Critic supplement instead of in the core.
Perl::Critic is an extensible framework for creating and applying coding
standards to Perl source code. Essentially, it is a static source code
analysis engine. Perl::Critic is distributed with a number of
Perl::Critic::Policy modules that attempt to enforce various coding
guidelines. Most Policies are based on Damian Conway's book
Perl Best Practices.
You can choose and customize those Polices through the
Perl::Critic interface. You can also create new Policy modules that
suit your own tastes.
For a convenient command-line interface to Perl::Critic, see the
documentation for perlcritic. If you want to integrate Perl::Critic with
your build process, Test::Perl::Critic provides a nice interface that is
suitable for test scripts.