Perl's require builtin (and its use wrapper) requires the files it loads to
return a true value. This is usually accomplished by placing a single
1;
statement at the end of included scripts or modules. It's not onerous to add but
it's a speed bump on the Perl novice's road to enlightenment. In addition, it
appears to be a non-sequitur to the uninitiated, leading some to attempt to
mitigate its appearance with a comment:
1; # keep require happy
or:
1; # Do not remove this line
or even:
1; # Must end with this, because Perl is bogus.
This module packages this "return true" behaviour so that it need not be written
explicitly. It can be used directly, but it is intended to be invoked from the
import method of a Modern::Perl-style module that enables modern Perl features
and conveniences and cleans up legacy Perl warts.
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.
GNU barcode is a tool to convert text strings to printed bars. It
supports a variety of standard codes to represent the textual strings
and creates postscript output.
Main features of GNU Barcode:
* Available as both a library and an executable program
* Supports UPC, EAN, ISBN, CODE39 and other encoding standards
* Postscript and Encapsulated Postscript output
* Accepts sizes and positions as inches, centimeters, millimeters
* Can create tables of barcodes (to print labels on sticker pages)
KDiamond is a single player puzzle game. The object of the game
is to build lines of three similar diamonds.
This program will refuse login to a user, and make a note of it in the
system logs (syslog). This is suitable for use as a "login shell" for
a user that you want to temporarily deny access to. Just set that user's
shell to /usr/local/sbin/nologin.
mdnsd is a very lightweight, simple, portable, and easy to integrate open
source implementation of Multicast DNS (part of Zeroconf, also called
Rendezvous by Apple) for developers. It supports both acting as a Query and
a Responder, allowing any software to participate fully on the
.localnetwork.
-- Dan Pelleg
daniel+mdnsd@pelleg.org
Moses is a statistical machine translation system that allows you to
automatically train translation models for any language pair. All you
need is a collection of translated texts (parallel corpus). Once you have a
trained model, an efficient search algorithm quickly finds the highest
probability translation among the exponential number of choices.
DT PS Tree shows running processes as a tree. It is a reimplementation of
pstree from PSmisc for FreeBSD, NetBSD, OpenBSD, DragonFly BSD, and possibly
other modern BSD variants. It also works without /proc and will show the full
set of processes in a jail even if init is not present.
The Perl script mysql2pgsql can be used to convert MySQL database
dumps to a PostgreSQL-compatible format (so the data can be imported
into PostgreSQL). This can be useful if you are switching from MySQL
to PostgreSQL and you have quite a bit of data in your MySQL
databases.
This small low-level module only has one purpose: pass a file
descriptor to another process, using a (streaming) Unix domain socket
(on POSIX systems) or any (streaming) socket (on WIN32 systems). The
ability to pass file descriptors on windows is currently the unique
selling point of this module. Have I mentioned that it is really
small, too?