On 12/9/06, Alan W. Irwin <irwin@beluga.phys.uvic.ca> wrote:
We should have long since changed the subject line, but better late than

I have been in contact with both Doug Hunt and especially Tim Jenness, and I
will attempt to summarize what they said.

There are actually two independent Perl interfaces to PLplot.

(1) There is Tim's hand-crafted one at
     (http://search.cpan.org/~tjenness/Graphics-PLplot-0.03/ ) which does not
     require PDL, but which with some work could be generalized to process
     arrays created by PDL.  The interface is built with a platform-dependent
     Makefile that is generated by standard Perl methods which "should" work
     on bare windows with "the make that is used by MS VC++6" (Tim cannot
     recall the name of it.  Is that nmake?) Even aside from the required PDL
     generalization work, my impression is that Tim's interface is somewhat
     limited in terms of the PLplot API it covers, and has not been worked
     on for a long time.

Just to clarify - it does cover most of the PLplot API and the missing items are those that require multi-dimensional arrays.
It uses very simple XS (perl C wrapper code) and should be portable to all platforms that can build perl/C modules. The reason it has not
been worked on for a long time is because it works (although I haven't kept track of routines that have been added). I lost a bit of motivation when I could not find a routine that would report bounding box coordinates of text that had (or would be plotted) - I needed this for accurate support of the plotting interface for AST ( http://www.starlink.ac.uk/ast) that I wrote.

Making it support PDL should be really easy. The real pain is that the low level PDL-PLplot interfaces match the C layer directly whereas the Perl interface I wrote takes a perl approach and returns arguements in a perl manner. This makes it difficult to share the low level interface whilst making use of the high level interface code that PDL provides.

Note that I am not anti-PDL, I developed the standalone version because I needed to ship a PLplot interface to external users without shipping them the whole of PDL - I was one of the first people to work on PDL.