Sign In/My Account | View Cart  
advertisement
-->




Programming

Algorithm::Diff
Algorithm::Diff will find the differences between two lists or two files. It finds the differences `intelligently': Given two files, it finds the *smallest* set of changes that will turn one file into the other.

App::Config
App::Config is a Perl5 module to handle global configuration variables for perl programs.

Class::Tree
Build and print hierarchical information such as directory trees and C++ classes. When combined with the Perl program perceps Class::Tree can print all C++ class hierarchies in a set of *.h files.

CONS
Do you use Makefiles for your project? Have you ever done a %22make clean; make all%22 just because you didn't know if the files you changed would be rebuilt correctly? Or perhaps you work on several machines accessing an NFS server, and if their clocks aren't in sync, make won't know to rebuild things? Well, welcome to a new and better way to control the building of your projects. CONS is a replacement for MAKE. It is not compatible with make, but it has a number of powerful capabilities not found in other software construction systems, including make.

CPAN - Comprehensive Perl Archive Network
A worldwide network of approximately 50 mirrored sites to provide the distributed Perl archive.

Devel::CCov
Fun Test Coverage Analysis for C/C++ -- Scans C/C++ source (before cpp) and inserts trip-wires in each code path to record execution. Careful use of this tool can help you eliminate all bugs from your code. (It really is fun too. :-)

Devel::Trace
Print out each line before it is executed (like sh -x).

DFA::Command
A Discrete Finite Automata command processor. This module reads a state transition table and then reads a data file looking for patterns as defined by regular expressions in the state transition table. When a transition is detected, a sub is called. Also includes DFA::Generate, a module that reads a state transition table and generates a Perl script which uses the module DFA::Command to process data according to the said table.

ExtUtils
ExtUtils::Embed provides utility functions for embedding a Perl interpreter and extensions in your C/C++ applications. Typically, an application Makefile will invoke ExtUtils::Embed functions while building your application.

Getop::Simple
Provide a simple wrapper around Getopt::Long.

Getopt::Long
Module Getopt::Long implements an extended getopt function called GetOptions(). This function implements the POSIX standard for command line options, with GNU extensions, while still capable of handling the traditional one-letter options. In general, this means that command line options can have long names instead of single letters, and are introduced with a double dash `--'. Optionally, Getopt::Long can support the traditional bundling of single-letter command line options.

GVM - The Generic Virtual Machine
The GVM lets you build and play with virtual machines.

Locked
This module lets you `lock' a scalar variable. If a scalar is locked, you aren't allowed to modify it.

makepatch
The makepatch package contains two programs, both written in Perl: makepatch and applypatch. makepatch will generate a patch kit from two source trees. It traverses the source directory and runs a 'diff' on each pair of corresponding files, accumulating the output into a patch kit. The applypatch program will do the following:
  • It will extensively verify that the patch kit is complete and not corrupted during transfer.
  • It will apply some heuristics to verify that the directory in which the patch will be applied does indeed contain the expected sources.
  • It creates files and directories as necessary.
  • It applies the patch by running the 'patch' program.
  • Upon completion, obsolete files, directories and .orig files are removed, file modes of new files are set, and the timestamps of all patched files are adjusted.


MiniMemoize
When you want a function to go faster, one strategy you can use is `caching'. This means that the function remembers what it has computed before, and if you ask it to compute the same thing over again, it jsut gives you back the result that it remembered instead of doing the work over again. `Memoize' is a perl module that automatically enables caching behavior on functions.

PDL (Perl Data Language)
PDL (``Perl Data Language'') gives standard perl the ability to COMPACTLY store and SPEEDILY manipulate the large N-dimensional data arrays which are the bread and butter of scientific computing.

Perl Compiler Kit, Version Alpha 2
Provides extension modules for Perl 5.002 (or newer) which let you compile Perl programs. CC backend now acts as a %22true%22 compiler and generates C code for the execution of your program, not just its initialisation.

Perl Examples
Example Perl programs for UNIX and X11.

Perl Graphical Structures (PEGS)
A simple, uniform graphical notation for describing Perl data

Perl Man Pages
These man pages include a search feature.

Perl Manual
Perl Documentation in a variety of downloadable formats (HTML, PDF, Postscript, test, PalmPilot)

Perl Programming
Lots of useful references and examples from class projects -- by Don Brutzman

Perl Recipes
By Joseph N. Hall and 5 Sigma Productions.

Perl Scripts
From Nem W Schlecht

Set::NestedGroups
Set::NestedGroups gives an implementation of nested groups, access control lists (ACLs) would be one example of nested groups. For example, if Joe is a Manager, and Managers have access to payroll, you can create an ACL which implements these rules, then ask the ACL if Joe has access to payroll. Another example, you may wish to track which city, state and country people are in, by adding people to cities, cities to states, and states to countries.

Startup.pm
Developing with Perl you certainly appreciate writing easily nifty programs. Unfortunately a bunch of boring problems make life uncomfortable. Martin Schwartz had to deal with them so often, he created this module. Imagine:
  • You want to have an option to work on files recursively.
  • You want some modules to print some info during work, but this output would hardly be predictable and thus might destroy your program output.
  • You want to have a little logfile reporting actions.
  • You want to report errors, but not via %22die%22, and you dislike writng trapping code all the time.
This module will help solve those problems, and make your programs more valuable.

Steffen Beyer - Perl Software for Download
Steffen provides a mixed bag of Perl Modules including Bit-ShiftReg-2.0.tar.gz, Bit-Vector-4.0.tar.gz, DateCalc-3.0.tar.gz, Locations-1.0.tar.gz (prototype (pre-alpha) only!), Math-MatrixReal-1.2.tar.gz, Disjoin-2.0.tar.gz (coming soon!), and gen_tree-2.1.tar.gz

SWIG - Simplified Wrapper and Interface Generator
SWIG is a program development tool designed to make it easy to build scripting language interfaces to C/C++ programs. It's primary audience is scientists, engineers, and programmers who would like to use a scripting language, but who would rather work on more interesting problems than figuring out all of the grungy details of extending their favorite scripting language or using an overly complicated programming tool. Perl is one of the target languages supported

Tie::STDERR
The Tie::STDERR module redirects the standard error output to email, file or process. The advantage is that the module catches all output, warnings coming from -w, dies, explicit prints to STDERR. You do not need any special treating of error conditions, just use the module at the start of your scripts. Also, it only sends the email if there actually is something to send, like cron does, so you do not get email for each run of the script, only for those when something went wrong.

Tom Christiansens' Script Archive
Lots of scripts for lots of different uses by Tom Christiansen.

VCS
vcs

VCS::CVS
A Perl interface to GNU's Concurrent Versions System.

VCS::CVS
vcs

VCS::PVCS
vcs

Sponsored By: