This is v2.0 of a Basic Interpreter by Phil J. A. Cockcroft
earlier versions used to be known as Rabbit Basic.
According to an earlier lisencing document:
===
This code is being put in the Public Domain since I will soon loose
network connectivity (I am leaving my job) and I don't particularly want
to sell it. This system does not contain any proprietary software. All
the algorithms are original or come from publicly available sources.
There are no licensing restrictions on this code or documentation at
all. I only ask that you give appropriate credit to the author.
===
So, there you have it. :)
This package contains a selection of subroutines that people have
expressed would be nice to have in the perl core, but the usage would
not really be high enough to warrant the use of a keyword, and the size
so small such that being individual extensions would be wasteful.
This distribution provides
min
max
minstr
maxstr
sum
reduce
reftype
blessed
weaken (5.005_57 and later only)
isweak (5.005_57 and later only)
dualvar
shuffle
This compiler is based on the original Portable C Compiler by S. C. Johnson,
written in the late 70's. Even though much of the compiler has been
rewritten, some of the basics still remain.
The intention is to write a C99 compiler while still keeping it small, simple,
fast and understandable. I think of it as if it shall be able to compile and
run on PDP11 (even if it may not happen in reality). But with this in mind it
becomes important to think twice about what algorithms are used.
Switch.pm provides the syntax and semantics for an explicit case
mechanism for Perl. The syntax is minimal, introducing only the
keywords switch and case and conforming to the general pattern of
existing Perl control structures. The semantics are particularly
rich, allowing any one (or more) of nearly 30 forms of matching to
be used when comparing a switch value with its various cases.
-Anton
<tobez@FreeBSD.org>
The Tcl extension module gives access to the Tcl library with functionality and
interface similar to the C functions of Tcl. In other words, you can:
- Create Tcl interpreters
The Tcl interpreters so created are Perl objects whose destructors delete the
interpreters cleanly when appropriate.
- Execute Tcl code in an interpreter
The code can come from strings, files or Perl filehandles.
- Bind in new Tcl procedures
The new procedures can be either C code (with addresses presumably obtained
using dl_open and dl_find_symbol) or Perl subroutines (by name, reference or
as anonymous subs). The (optional) deleteProc callback in the latter case is
another perl subroutine which is called when the command is explicitly
deleted by name or else when the destructor for the interpreter object is
explicitly or implicitly called.
- Manipulate the result field of a Tcl interpreter
- Set and get values of variables in a Tcl interpreter
- Tie perl variables to variables in a Tcl interpreter
The variables can be either scalars or hashes.
Github repository is at https://github.com/gisle/tcl.pm
This library's module, Test::XPath, provides an interface for testing the
content and structure of XML and HTML documents using XPath query expressions.
This will be most useful for those who need to write TAP-emitting unit tests
for HTML or XML output.
A small, fast, try catch blocks for perl, it's inspired and mostly copied from
Try::Tiny but with some modifications to boost execution speed.
Consider Try::Catch a stripped Try::Tiny version with no blessing and no usage
of Sub::Name.
This module extends Try::Tiny to add support for retries.
Try::Tiny provides bare bones try/catch statements that are designed
to minimize common mistakes done with eval blocks (for instance assuming
that $@ is set to a true value on error, or clobbering previous values
of $@, and NOTHING else.
This module provides bare bones try/catch statements that are designed
to minimize common mistakes done with eval blocks (for instance assuming
that $@ is set to a true value on error, or clobbering previous values
of $@, and NOTHING else.
This module aims to provide a nicer syntax and method to catch errors in
Perl, similar to what is found in other languages (such as Java, Python
or C++). The standard method of using eval {}; if ($@) {} is often prone
to subtle bugs, primarily that its far too easy to stomp on the error in
error handlers. And also eval/if isn't the nicest idiom.