This defines the policy for file I/O with modules such as
File::Slurp::WithinPolicy. The purpose is to allow systems administrators to
define locations and restrictions for applications' file I/O and give app
developers a policy to follow. Note that the module doesn't ENFORCE the
policy - application developers can choose to ignore it
(and systems administrators can choose not to install their applications
if they do!).
You may control which policy gets applied by creating a File::Policy::Config
module with an IMPLEMENTATION constant. You may write your own policy as a
module within the File::Policy:: namespace.
By default (if no File::Policy::Config is present), the File::Policy::Default
policy gets applied which doesn't impose any restrictions and provides
reasonable default locations for temporary and log files.
This module is a wrapper around Getopt::Long that extends the value of
the original Getopt::Long module to:
1) add a simple graphical user interface option screen if no arguments
are passed to the program.
2) provide an auto-help mechanism such that -h and --help are handled
automatically.
It's designed to make the creation of graphical shells trivial without the
programmer having to think about it much as well as providing automatic
good-looking usage output without the programmer needing to write usage()
functions.
This also can turn normal command line programs into web CGI scripts as
well (automatically). If the Getopt::GUI::Long program is installed as a
CGI script then it will automatically prompt the user for the same
variables.
IPC::Open3::Simple aims at making it very easy to start a shell command,
eventually feed its stdin with some data, then retrieve its stdout and stderr
separately.
When you want to run a shell command and parse its stdout/stderr or feed its
stdin, you often end up using IPC::Run, IPC::Cmd or IPC::Open3 with your own
parsing code, and end up writing more code than you intended. IPC::Open3::Simple
is about removing this overhead and making IPC::Open3 easier to use.
IPC::Open3::Simple calls IPC::Open3 and redirects stdin, stdout and stderr to
some function references passed in argument to the constructor. It does a select
on the input/output filehandles returned by IPC::Open3 and dispatches their
content to and from those functions.
IO::Event provides an object-based callback system for handling nonblocking IO.
The design goal is to provide a system that just does the right thing without
the user needing to think about it much.
All APIs are kept as simple as possible yet at the same time, all functionality
is accesible if needed. Simple things are easy. Hard things are possible.
Most of the time file handling syntax will work fine: <$filehandle> and print
$filehandle 'stuff'.
IO::Event provides automatic buffering of output (with a callback to throttle).
It provides automatic line-at-a-time input.
After initial setup, call IO::Event::loop().
IO::Event was originally written to use Event. IO::Event still defaults to using
Event but it can now use AnyEvent or its own event loop.
POE::Session::MultiDispatch is a drop in replacement for POE::Session
that adds callback dispatch functionality to POE sessions. Each event
may have multiple handlers associated with it. Fine control over the
order of execution is available using helper methods that extend the
interface of a POE::Session.
POE::Session::MultiDispatch uses POE::Session as a base class. When
multiple callbacks are registered for an event, only the last callback
survives, all the others are clobbered. POE::Session::MultiDispatch is
much nicer to your registered callbacks, it keeps them all in the order
they were defined. When an event is triggered, all the callbacks are
then executed in that same order (unless you muck around with said
order).
This module adds the ability to quickly create new types of tie objects without
creating a complete class. It does so in such a way as to try and make the
programmers life easier when it comes to single-use ties that I find myself
wanting to use from time-to-time.
The Tie::Simple package is actually a front-end to other classes which really do
all the work once tied, but this package does the dwimming to automatically
figure out what you're trying to do.
I've tried to make this as intuitive as possible and dependent on other bits of
Perl where I can to minimize the need for documentation and to make this extra,
extra spiffy.
VCR.py simplifies and speeds up tests that make HTTP requests. The first
time you run code that is inside a VCR.py context manager or decorated
function, VCR.py records all HTTP interactions that take place through
the libraries it supports and serializes and writes them to a flat file
(in yaml format by default). This flat file is called a cassette.
When the relevant peice of code is executed again, VCR.py will read the
serialized requests and responses from the aforementioned cassette file,
and intercept any HTTP requests that it recognizes from the original test
run and return the responses that corresponded to those requests. This
means that the requests will not actually result in HTTP traffic, which
confers several benefits including:
* The ability to work offline
* Completely deterministic tests
* Increased test execution speed
TkCVS is a Tcl/Tk-based graphical interface to the CVS, and Subversion
configuration management systems. It will also help with RCS. The user
interface is consistent across Unix/Linux, Windows, and MacOS X. TkDiff
is included for browsing and merging your changes.
It shows the status of the files in the current working directory, and
has tools for tagging, merging, importing, exporting, checking in/out,
and other user operations. TkCVS also aids in browsing the repository.
For Subversion, the repository tree is browsed like an ordinary file
tree. For CVS, the CVSROOT/modules file is read. TkCVS extends CVS with
a method to produce a "user friendly" listing of modules by using special
comments in the CVSROOT/modules file.
A full-featured, secure, extensible and configurable Perl FTP server.
Major features of Net::FTPServer include:
* Feature parity with wu-ftpd, wu-ftpd style aliases and cdpath.
* IP-based and IP-less virtual hosting.
* Virtual filesystem allows the FTP server to serve files from a SQL
database.
* Configurable and extensible in Perl.
* <Perl> sections in ftpd.conf file.
* Supports all the latest RFCs and Internet Drafts, including MLST, MLSD,
FEAT, OPTS, LANG.
* Secure by design and implementation, can run in a chroot jail.
* PAM authentication and anonymous mode.
* Resource limits.
* Run standalone or from inetd.
* Configurable server greetings and welcome messages.
* Sophisticated access control rules.
* SITE EXEC (disabled by default).
* Syslog logging.
* Set TCP parameters.
Amoebax is a cute and addictive action-puzzle game. Due to an awful
mutation, some amoeba's species have started to multiply until they
take the world if you can't stop them. Fortunately the mutation
made then too unstable and lining up four or more will make them
disappear.
Follow Kim or Tom through 6 levels in their quest to prevent the
cute multiplying amoebas to take the world and become the new Amoeba
Master. Watch out for the cute but amoeba's controlled creatures
that will try to put and end to your quest.
Amoebax is designed with levels for everyone, from children to
adults. With the training mode everybody will quickly become a
master and the tournament mode will let you have a good time with
your friends. There is also catchy music, funny sound effects, and
beautiful screens that sure appeal to everyone in the family.