Is a given string a domain suffix?
Generate a DocBook documentation from a DTD
Many C++ developers miss an easy and portable way of handling Unicode
encoded strings. The original C++ Standard (known as C++98 or C++03) is
Unicode agnostic. C++11 provides some support for Unicode on core
language and library level: u8, u, and U character and string literals,
char16_t and char32_t character types, u16string and u32string library
classes, and codecvt support for conversions between Unicode encoding
forms. In the meantime, developers use third party libraries like ICU,
OS specific capabilities, or simply roll out their own solutions.
In order to easily handle UTF-8 encoded Unicode strings, I came up with
a small generic library. For anybody used to work with STL algorithms
and iterators, it should be easy and natural to use.
IJS is a relatively new initiative to improve the quality and ease
of use of inkjet printing with Ghostscript. Using IJS, you can add
new drivers, or upgrade existing ones, without recompiling Ghostscript.
All driver authors are encouraged to adapt their drivers for IJS,
and if there is an IJS driver available for your printer, it should
be your first choice.
A C/C++ library for controlling Pololu AVR hardware, such as the 3pi robot
and Orangutan family of robot controllers.
uchardet is a C language binding of the original C++ implementation
of the universal charset detection library by Mozilla.
Number::RecordLocator encodes integers into a 32 character "alphabet"
designed to be short and easy to read and pronounce. With a 32 bit
encoding, you can map 33.5 million unique ids into a 5 character code.
ExtUtils::Constant facilitates generating C and XS wrapper code to allow
perl modules to AUTOLOAD constants defined in C library header files.
It is principally used by the h2xs utility, on which this code is based.
It doesn't contain the routines to scan header files to extract these
constants.
Class::Default provides a mechanism to allow your class to take static
method calls and apply it to a default instantiation of an object. It
provides a flexibility to an API that allows it to be used more
comfortably in different situations.
This technique appears to be especially useful when writing modules
that you want to be used in either a single use or a persistent
environment. In a CGI like environment, you want the simplicity of a
static interface. You can call Class-method> directly, without having
to pass an instantiation around constantly.
Recursively evaluate a BLOCK over a list of data structures (locally setting $_
to each element) and return the list composed of the results of such
evaluations. $_ can be used to modify the elements.
Data::Rmap currently traverses HASH, ARRAY, SCALAR and GLOB reference types and
ignores others. Depending on which rmap_* wrapper is used, the BLOCK is called
for only scalar values, arrays, hashes, references, all elements or a
customizable combination.