INTRO(1) User Contributed Perl Documentation INTRO(1)
PDL::Intro - Introduction to the Perl Data Language
"Why is it that we entertain the belief that for every purpose odd numbers are the most
effectual?" - Pliny the Elder.
Karl Glazebrook [email@example.com]
Perl is an extremely good and versatile scripting language, well suited to beginners and
allows rapid prototyping. However until recently it did not support data structures which
allowed it to do fast number crunching.
However with the development of Perl v5, Perl acquired Objects. To put it simply users can
define their own special data types, and write custom routines to manipulate them either
in low level languages (C and Fortran) or in Perl itself.
This has been fully exploited by the PDL developers. The "PDL" module is a complete
Object-Oriented extension to Perl (although you don't have to know what an object is to
use it) which allows large N-dimensional data sets, such as large images, spectra, time
series, etc to be stored efficiently and manipulated en masse. For example with the PDL
module we can write the perl code "$a=$b+$c", where $b and $c are large datasets (e.g.
2048x2048 images), and get the result in only a fraction of a second.
PDL variables (or piddles as they have come to be known) support a wide range of fundamen-
tal data types - arrays can be bytes, short integers (signed or unsigned), long integers,
floats or double precision floats. And because of the Object-Oriented nature of PDL new
customised datatypes can be derived from them.
As well as the PDL modules, that can be used by normal perl programs, PerlDL comes with a
command line perl shell, called perldl, which supports command line editing. In combina-
tion with the various PDL graphics modules this allows data to be easily played with and
This manual page provides a general introduction to the underlying philosophy of PDL. For
an overview over the rest of the documentation see PDL::Index. As a beginner the following
documents are particulary recommended:
Quick summary - PDL for the impatient
The Frequently Asked Questions list for PDL.
Why another matrix language?
An introduction to using smart indices in PDL.
The all important slicing of piddles.
Copyright (C) Karl Glazebrook (firstname.lastname@example.org), Tuomas J. Lukka,
(email@example.com) and Christian Soeller (firstname.lastname@example.org) 1997-2002.
Commercial reproduction of this documentation in a different format is forbidden without
perl v5.8.0 2002-03-18 INTRO(1)