File::Flock is a wrapper around the flock() call. The only thing it
does that is special is that it creates the lock file if the lock file
does not already exist.
It will also try to remove the lock file. This makes it a bit
complicated.
http://search.cpan.org/dist/File-BasicFlock
Derived from MultiTail, this perl library makes it easy to tail a dynamic
list of files and match/except lines using full regular expressions and
even maintains their state locally.
File::Tail::Multi will tail multiple files and return the records read
to a Data Structure. The Data Structure can be processed by
File::Tail::Multi functions.
File::Flock is a wrapper around the flock() call. The only thing it
does that is special is that it creates the lock file if the lock file
does not already exist.
It will also try to remove the lock file. This makes it a bit
complicated.
File::HomeDir::PathClass is just a wrapper around File::HomeDir methods,
transforming their return value to Path::Class objects. This allows for easier
usage of the value.
Refer to File::HomeDir#METHODS for a list of which functions are supported.
File::HomeDir::PathClass supports both original File::HomeDir interfaces.
Gearman provides a generic framework to farm out work to other
machines or dispatch function calls to machines that are better suited
to do the work. It allows you to do work in parallel, to load balance
processing, and to call functions between languages. It can be used in
a variety of applications, from high-availability web sites to the
transport for database replication.
It monitors files in a given directory (or set of directories), such as
Apache log files in /var/log/httpd, and as the log files are written to,
takes the changes and sends them to a running instance of the Scribe
logging system.
Forest is intended to be a replacement for the Tree::Simple family of
modules, and fixes many of the issues that have always bothered me about
them. It is by no means a complete replacement yet, but should eventually
grow to become that.
CityHash provides hash functions for strings. The functions mix the
input bits thoroughly but are not suitable for cryptography. See
"Hash Quality," below, for details on how CityHash was tested and so on.
Functions by CityHash:
- CityHash32() returns a 32-bit hash.
- CityHash64() and similar return a 64-bit hash.
- CityHash128() and similar return a 128-bit hash and are tuned for
strings of at least a few hundred bytes. Depending on your compiler
and hardware, it's likely faster than CityHash64() on sufficiently long
strings. It's slower than necessary on shorter strings, but we expect
that case to be relatively unimportant.
- CityHashCrc128() and similar are variants of CityHash128() that depend
on _mm_crc32_u64(), an intrinsic that compiles to a CRC32 instruction
on some CPUs. However, none of the functions we provide are CRCs.
- CityHashCrc256() is a variant of CityHashCrc128() that also depends
on _mm_crc32_u64(). It returns a 256-bit hash.
All members of the CityHash family were designed with heavy reliance
on previous work by Austin Appleby, Bob Jenkins, and others.
For example, CityHash32 has many similarities with Murmur3a.
Git::Version::Compare contains a selection of subroutines that make dealing with
Git-related things (like versions) a little bit easier.
The strings to compare can be version numbers, tags from git.git or the output
of git version or git describe.
These routines collect the knowledge about Git versions that was accumulated
while developing Git::Repository.
Google Protocol Buffers is a data serialization format. It is binary (and hence
compact and fast for serialization) and as extendable as XML; its nearest
analogues are Thrift and ASN.1. There are official mappings for C++, Java and
Python languages; this library is a mapping for Perl.