Data::Object provides functions for promoting Perl 5 native data types to
objects which provide common methods for operating on the data.
Basically it provides Moo objects and roles for native Perl data types.
Data::Taxonomy::Tags will basically take care of easily managing tags for an
item. You provide it with a string of tags and it will allow you to call
methods to get all the tags and categories as well as add and delete tags
from the list.
Data::TemporaryBag module provides a bag object class
handling long size data. The short size data are kept on
memory. When the data size becomes over $Threshold size,
they are saved into a temporary file internally.
Data::ObjectDriver is an object relational mapper, meaning that it
maps object-oriented design concepts onto a relational database.
It's inspired by, and descended from, the MT::ObjectDriver classes in
Six Apart's Movable Type and TypePad weblogging products. But it adds
in caching and partitioning layers, allowing you to spread data across
multiple physical databases, without your application code needing to
know where the data is stored.
It's currently considered ALPHA code. The API is largely fixed, but
may seen some small changes in the future. For what it's worth, the
likeliest area for changes are in the syntax for the search method,
and would most likely not break much in the way of backwards
compatibility.
Hashes are great for storing named data, but if you want more than one entry
for a name, you have to use a list of pairs. Even then, this is really boring
to write:
@values = (
foo => undef,
bar => undef,
baz => undef,
xyz => { ... },
);
With Data::OptList, you can do this instead:
Data::OptList::mkopt([
qw(foo bar baz),
xyz => { ... },
]);
This works by assuming that any defined scalar is a name and any reference
following a name is its value.
Data::Page::NoTotalEntries is a generic pager object, so it's very
similar with Data::Page. But so Data::Page::NoTotalEntries doesn't
support $pager->total_entries and other some methods.
This module enables writing declarations for simple and complex binary
structures, parsing binary to hash/array data structure, and building
binary data from hash/array data structure.
Data::Page::Pageset is a generic pager object, so it's very
similar to Data::Page and Data::Pageset.
This modules provides an XPath-like syntax to get values from complex
data structures.
This module provides a framework for generating UUIDs (Universally
Unique Identifiers, also known as GUIDs (Globally Unique Identifiers).
A UUID is 128 bits long, and is guaranteed to be different from all
other UUIDs/GUIDs generated until 3400 A.D. Currently many different
technologies rely on UUIDs to provide unique identity for various
software components.
The algorithm for UUID generation, used by this extension, is described
in the Internet Draft "UUIDs and GUIDs" by Paul J. Leach and Rich Salz.
It provides reasonably efficient and reliable framework for generating
UUIDs and supports fairly high allocation rates - 10 million per second
per machine, and therefore, is suitable for identifying both - extremely
short-lived and very persistent objects on a given system as well as
across the network.