The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PDL - the Perl Data Language

DESCRIPTION

(For the exported PDL constructor, pdl(), see PDL::Core)

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.

PDL is fast, comparable and often outperforming IDL and MATLAB in real world applications. PDL allows large N-dimensional data sets such as large images, spectra, etc to be stored efficiently and manipulated quickly.

INTERACTIVE SHELL

The PDL package includes an interactive shell. You can learn about it, run perldoc perldl, or run the shell perldl and type help.

LANGUAGE DOCUMENTATION

To learn about the PDL language see:

PDL::Intro

Starting place for PDL language documentation.

PDL::QuickStart

A guide to get you quickly started with PDL.

PDL::Philosophy

Why did we write PDL? Learn about what PDL has to offer.

PDL::Index

List of all available documentation.

MODULES

PDL 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. Some notes:

SYNOPSIS

See the SYNOPSIS section at the end of this document for a list of modules loaded by default.

PDL::Lite and PDL::LiteF

These are lighter-weight alternatives to the standard PDL module. Consider using these modules if startup time becomes an issue.

Exports

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.

PDL::NiceSlice

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;.

PDL::Math

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 PDL::Lite and PDL::LiteF start-up modules.

SYNOPSIS

 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;