PackageDescription | CGI::Tiny provides a modern interface to write at
https://en.wikipedia.org/wiki/Common_Gateway_Interface scripts to
dynamically respond to HTTP requests as defined in at
https://tools.ietf.org/html/rfc3875. It is intended to be:
* * Minimal
CGI::Tiny contains a small amount of code and (on modern Perls) no non-core
requirements. No framework needed.
* * Simple
CGI::Tiny is straightforward to use, avoids anything magical or surprising,
and provides easy access to the most commonly needed features.
* * Robust
CGI::Tiny's interface is designed to help the developer follow best
practices and avoid common pitfalls and vulnerabilities by default.
* * Lazy
CGI::Tiny only loads code or processes information once it is needed, so
simple requests can be handled without unnecessary overhead.
* * Restrained
CGI::Tiny is designed for the CGI protocol which executes the program again
for every request. It is not suitable for persistent protocols like FastCGI
or PSGI.
* * Flexible
CGI::Tiny can be used with other modules to handle tasks like routing and
templating, and doesn't impose unnecessary constraints to reading input or
rendering output.
Most applications are better written in a PSGI-compatible framework (e.g.
Dancer2 or Mojolicious) and deployed in a persistent application server so
that the application does not have to start up again every time it receives
a request. CGI::Tiny, and the CGI protocol in general, is only suited for
restricted deployment environments that can only run CGI scripts, or
applications that don't need to scale.
See "COMPARISON TO CGI.PM". |