The Perl Data Language (pronounced like "piddle"), a set of extensions to Perl allowing it to deal with vectors, matrices and the like directly. Underlying code is in C, allowing Perl to be used for scripting aspects while retaining speed.

In PDL, Perl scalars hold all objects (be they scalars, vectors, or higher tensors). It does for numerics what Perl does for text: anything which can be coded with PDL primitives runs fast. On the other hand, if you ever need to code something directly with Perl (such as "find the matrix row with the leftmost nonzero entry"), you can do so, but it will be slow.

To help implementation and use, PDL includes support for auto-generating C code to perform operations. With its concept of threading (quite distinct from lightweight processes!), PDL lets you write this code once and have it work in any (appropriate) dimension.

PDL is said to be akin to Python's numpy extension.