Begin main content

nsperl2

nsperl2 is a loadable module for the AOLServer threaded web server to allow development in Perl.

I'm very pleased to announce the first (alpha) release of nsperl2. It's an alpha release, so no promises as to its quality. There are *definately* memory leaks at the moment but my tests pass reliably (on MacOS 10.5 and CentOS 4.5) so you should feel free to try it out if you feel so inclined. I try quite hard to deal with performance issues such as native variable and bytecode representations, so the ultimate performance once any gremlins are ironed out should be quite good..

Below is the nub of it from the README which also contains web and subversion urls. Please don't hesitate to contact me if you have any questions or any trouble compiling/using it.

Introduction

nsperl2 is an AOLServer module which bridges, in both directions, between tcl and Perl.

With it you can:

  • call perl functions from tcl (via the perl::call tcl function)
  • call tcl functions from perl (via a number of methods - see Documentation below)
  • register perl functions to handle aolserver requests (via Ns::register_url)

Downloading

See INSTALL.txt for the versions of perl, tcl and aolserver you will need.

The latest version of nsperl2 is always avalible via subversion. See Links below.

Installation

As you can imagine, it is not a walk in the park to correctly link tcl, aolserver and perl. While there will be many ways of making it all work, you are best off following the step by step instructions in INSTALL.txt at least at first. It details the versions and options of each part.

Once the tcl, aolserver and perl pre-requisites are installed, the nsperl2 Makefile builds the api modules and links everything together for you.

A set of tests is also included, although they do not yet cover every documented method.

Documentation

Documentation can be found in the perl modules' pod. The test cases are also useful documentation.

The pod is inline in perl modules which Github doesn't yet provide a way to render (unlike .pod files which it does). Until I set something up you can browse the source and docs via the Github link below.

Links