This simple module serves one purpose - to provide a simple means to read (or
slurp) an entire file into memory for processing. This module allows the
replacement of the prototypical foreach- or while- loops used for opening
and reading of files with single-line constructs.
Of note with this module is that the magic of the @ARGV variable and the
input record separator, $/, are used to facilitate the reading of entire
files into either an array or scalar using minimal code.
This module has two main goals: to make it easy to create correct sort
functions, and to make it simple to select the optimum sorting algorithm
for the number of items to be sorted. Sort::Maker generates complete
sort subroutines in one of four styles, plain, orcish manouver,
Schwartzian Transform and the Guttman-Rosler Transform. You can also get
the source for a sort sub you create via the sorter_source call.
This module provides one function, delete_sub, that deletes the
subroutine whose name is passed to it. (To load the module without
importing the function, write use Sub::Delete();.)
This does more than simply undefine the subroutine in the manner of
undef &foo, which leaves a stub that can trigger AUTOLOAD (and,
consequently, won't work for deleting methods). The subroutine is
completely obliterated from the symbol table (though there may be
references to it elsewhere, including in compiled code).
Spoon - A Spiffy Application Building Framework
Spoon is an Application Framework that is designed primarily for
building Social Software web applications. The Kwiki wiki software is
built on top of Spoon.
Spoon::Base is the primary base class for all the Spoon::* modules.
Spoon.pm inherits from Spiffy.pm.
Spoon is not an application in and of itself. (As compared to Kwiki) You
need to build your own applications from it.
Taint is a good thing. However, few people use taint even though they should.
The goal of this module isn't to use taint less, but to actually encourage its
use more.
This module aims to make using taint as painless as possible (This can be an
argument against it - often implementation of security implies pain - so taking
away pain might lessen security - sort of).
An xUnit style testing framework inspired by Test::Class and built using Moose.
It can do all the important things Test::Class can do and more.
The prime advantages of using this module instead of Test::Class are
flexibility and power. Namely, Moose.
This module was created for a few of reasons:
To address perceived limitations in, and downfalls of, Test::Class.
To leverage existing Moose expertise for testing.
To bring Moose to the Perl testing game.
Sometimes using Test::More's is test isn't good enough. Its diagnostics may make
it easy to miss differences between strings. By using is_binary instead of is,
the "!" tells us that the lines differ, and we can quickly scan the bytes that
make up the line to see which differ. When comparing very long strings, we can
stop after we've seen a few differences.
This package provides some low-level utilities to use for package
development. It currently provides managers for multiple package
specific options and registries, vignette, unit test and bibtex
related utilities. It serves as a base package for packages like
NMF, RcppOctave, doRNG, and as an incubator package for other general
purposes utilities, that will eventually be packaged separately.
It is still under heavy development and changes in the interface(s)
are more than likely to happen.
Tie::Array::Sorted represents an ordinary array, which is kept sorted.
All pushes and unshifts cause the elements in question to be inserted in
the appropriate location to maintain order.
Direct stores ($a[10] = "wibble") effectively splice out the original
value and insert the new element. It's not clear why you'd want to use
direct stores like that, but this module does the right thing if you do.
This module replaces the standard localtime and gmtime functions with
implementations that return objects. It does so in a backwards
compatible manner, so that using localtime/gmtime in the way documented
in perlfunc will still return what you expect.
The module actually implements most of an interface described by Larry
Wall on the perl5-porters mailing list here:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-01/msg00241.html