ExtUtils::ParseXS will compile XS code into C code by embedding the
constructs necessary to let C functions manipulate Perl values and creates
the glue necessary to let Perl access those functions. The compiler uses
typemaps to determine how to map C function parameters and variables to Perl
values.
ExtUtils::XSBuilder is a set modules to parse C header files and create XS
glue code and documentation out of it. Ideally this allows to "write" an
interface to a C library without coding a line. Since no C-API is ideal,
some adjustments are necessary most of the time. So to use this module you
must still be familiar with C and XS programming, but it removes a lot of
stupid work and copy&paste from you. Also when the C API changes, most
of the time you only have to rerun XSBuilder to get your new Perl API.
XS++ is just a thin layer over plain XS, hence to use it you are
supposed to know, at the very least, C++ and XS. This means that
you will need typemaps for both the normal XS pre-processor xsubpp
and the XS++ pre-processor xspp.
File-HStore is a very minimalist perl library to store files on a
filesystem using a very simple hash-based storage.
File-HStore is nothing more than a simple wrapper interface to a
storage containing a specific directory structure where files are hold
based on their hashes. The name of the directories is based on the
first two bytes of the hexadecimal form of the digest. The file is
stored and named with its full hexadecimal form in the corresponding
prefixed directory.
The current version is supporting the SHA-1 and SHA-2 (256 bits)
algorithm. The FAT (Free Archive Toolkit) format is also supported and
it is composed of the date of submission plus the SHA-2 real digest
part.
This class implements a simple state machine pattern, allowing you to
quickly build rules-based state machines in Perl. As a simple
implementation of a powerful concept, it differs slightly from an ideal
DFA model in that it does not enforce a single possible switch from one
state to another. Rather, it short circuits the evaluation of the rules
for such switches, so that the first rule to return a true value will
trigger its switch and no other switch rules will be checked. (But see the
strict attribute and parameter to new().) It differs from an NFA model in
that it offers no back-tracking. But in truth, you can use it to build a
state machine that adheres to either model--hence the more generic FSA
moniker.
The File::Append::TempFile module provides an OOP interface to appending
data to files using a temporary file, in order to ensure the atomicity of
the updates. Care should be taken to ensure that no other applications
try to modify the original file concurrently, since any changes made while
appending the data may be lost.
File::Assets is a tool for managing JavaScript and CSS assets in a (web)
application. It allows you to "publish" assests in one place after having
specified them in different parts of the application (e.g. throughout request
and template processing phases).
File::Iterator wraps a simple iteration interface around the files in a
directory or directory tree. It builds a list of filenames, and maintains a
cursor that points to one filename in the list. The user can work through the
filenames sequentially by repeatedly doing stuff with the next filename that
the cursor points to until their are no filenames left.
Works like File::Attributes, but will recurse up the directory tree
until a matching attribute is found.
This module is to guess file type from its contents like file(1)
command.