Christian Soeller > PDL-2.4.3 > PDL



Annotate this POD


Open  0
View/Report Bugs
Module Version: 2.4.3   Source   Latest Release: PDL-2.007_13


PDL - the Perl Data Language


(For the exported PDL constructor, pdl(), see PDL::Core or pdl[2])

PDL is the Perl Data Language, a perl extension that is designed for scientific and bulk numeric data processing and display. It extends perl's syntax and includes fully vectorized, multidimensional array handling, plus several paths for device-independent graphics output.

For basic information on the PDL language, see the pdl(1) (lowercase) man page.

You can run PDL programs directly as perl scripts that include the PDL module (with "use PDL;"), or via an interactive shell (see the perldl(1) man page).

The PDL language extension includes about a dozen perl modules that form the core of the language, plus additional modules that add further functionality. The perl module "PDL" loads all of the core modules automatically, making their functions available in the current perl namespace. See also PDL::Lite or PDL::LiteF if start-up time becomes an issue.


use PDL; exports a large number of routines into the calling namespace. If you want to avoid namespace pollution, you must instead use PDL::Lite, and include any additional modules explicitly.


Note that the PDL::NiceSlice syntax is NOT automatically loaded by use PDL;. If you want to use the extended slicing syntax in a standalone script, you must also say use PDL::NiceSlice;.


The PDL::Math module has been added to the list of modules for versions later than 2.3.1. Note that PDL::Math is still not included in the Lite and LiteF start-up modules.


 use PDL; # Is equivalent to the following:

   use PDL::Core;
   use PDL::Ops;
   use PDL::Primitive;
   use PDL::Ufunc;
   use PDL::Basic;
   use PDL::Slices;
   use PDL::Bad;
   use PDL::MatrixOps;
   use PDL::Math;
   use PDL::Version;
   use PDL::IO::Misc;
   use PDL::IO::FITS;
   use PDL::IO::Pic;
   use PDL::Lvalue;
syntax highlighting: