Form::Sensible is a different kind of form library. Form::Sensible is not just
another HTML form creator, or a form validator, though it can do both.
Form::Sensible, instead, focuses on what forms are: a method to relay
information to and from a user interface.
Form::Sensible forms are primarily tied to the data they represent.
Form::Sensible is not tied to HTML in any way. You could render Form::Sensible
forms using any presentation system you like, whether that's HTML, console
prompts, WxPerl or voice prompts. (* currently only an HTML renderer is provided
with Form::Sensible, but work is already under way to produce others.)
Features:
- Easy form validation
- Ability to easily save created forms for future use
- Define form once, render any number of ways
- Flexible built-in form validator
- Easily extended to produce new renderers, field types and validation
- HTML renderer produces sane html that can be easily styled via CSS
- HTML renderer allows for custom templates to control all aspects of form
rendering.
- HTML output not tied to any javascript library.
Gearman is a system to farm out work to other machines, dispatching function
calls to machines that are better suited to do work, to do work in parallel,
to load balance lots of function calls, or to call functions between
languages.
This is the Perl client component.
Hash::NoRef is a Perl module to create HASH that store values without increase
the reference count (weak references). This can be used to store objects but
without interfere in the DESTROY mechanism, since the reference in this HASH
won't count.
IO::Multiplex is designed to take the effort out of managing multiple
file handles. It is essentially a really fancy front end to the select
system call. In addition to maintaining the select loop, it buffers all
input and output to/from the file handles. It can also accept incoming
connections on one or more listen sockets.
Hash::Case is the base class for various classes which tie special
treatment for the casing of keys. Be aware of the differences in
implementation: Lower and Upper are tied native hashes: these hashes
have no need for hidden fields or other assisting data structured. A
case Preserve hash will actually create three hashes.
Under older perls this module provides a drop in compatible api to
Hash::Util::FieldHash using perltie. When Hash::Util::FieldHash is available
it will use that instead.
This way code requiring field hashes can benefit from fast, robust field
hashes on Perl 5.10 and newer, but still run on older perls that don't ship
with that module.
IO::Pipely - Portably create pipe() or pipe-like handles, one way or another.
Pipes are troublesome beasts because there are a few different, incompatible
ways to create them. Not all platforms support all ways, and some platforms may
have hidden difficulties like incomplete or buggy support.
The IPC::Mmap::Share was born out of the need to share structures among
processes that come from the same ancestor. It tries to do so in a very simple
and straightforward manner. Just create an IPC::Mmap::Share object, and use set
to store your data and get to get it back.
List::Gen provides higher order functions, list comprehensions, generators,
iterators, and other utility functions for working with lists. walk lists with
any step size you want, create lazy ranges and arrays with a map like syntax
that generate values on demand. there are several other hopefully useful
functions, and all functions from List::Util are available.
Inline::ASM allows you to write Perl subroutines in assembly language.
Of course, many C compilers allow you to put assembly right in your C
code, so this module does not provide any new functionality. It does,
however, provide a feature most C compilers don't: you can mix different
assembler syntaxes in the same file!