NetBSD's version of mkdep.
Because it is a C program and does all postprocessing and file
handling without calling any external programs, it is up to 10-percent
faster than the original BSD mkdep shell script.
Also it contains options not available in FreeBSD's mkdep.
OpenZz is a dynamic parser which allows its grammar to be extended by
commands written in its own Zz language. Due to the interpreted and
dynamic nature of the parser OpenZz can be used to develop both fast
language prototypes and full compilers.
Algorithm::BinPack efficiently packs items into bins. The bins are given
a maximum size, and items are packed in with as little empty space as
possible. An example use would be backing up files to CD, while
minimizing the number of discs required.
Flood control method is used to restrict the number of events to happen or
to be processed in specific perion of time. Few examples are: web server can
limit requsets number to a page or you may want to receive no more than 10 SMS
messages on your GSM Phone per hour. Applications of this method are unlimited.
Algorithm::Diff is a perl module that provides an interface to compute
the difference between two files, two strings, or any other two lists
of things. It uses an intelligent algorithm similar/identical to the
one used by classical Unix diff(1). It is guaranteed to find the
*smallest possible* set of differences.
App::Trace provides debug/tracing support for perl programs and
modules.
The basic concept is that you put a special call at the beginning and
end of each subroutine/method, and when tracing is enabled, you can
see the flow of your program.
A Heap implementation for Perl using functions that are loosely
modeled after the C++ STL's binary heap functions. They all take an
array as argument, just like perl's built-in functions "push", "pop"
etc. The implementation itself is in C for maximum speed.
Bread::Board is an inversion of control framework with a focus on dependency
injection and lifecycle management. It's goal is to help you write more
decoupled objects and components by removing the need for you to manually wire
those objects/components together.
This module was mainly written for Net::XMPP2, Net::IRC3 and BS to provide a
consistent API for registering and emitting events. Even though I originally
wrote it for those modules I released it separately in case anyone may find this
module useful.
The functions in this module implement or assist the writing of
programs, or parts of them, in Continuation Passing Style (CPS).
Briefly, CPS is a style of writing code where the normal call/return
mechanism is replaced by explicit "continuations", values passed in
to functions which they should invoke, to implement return behaviour.