Scroll to navigation

pdl2(3pm) User Contributed Perl Documentation pdl2(3pm)

NAME

pdl2 - Simple shell (version 2) for PDL

SYNOPSIS

Use PDL interactively:

  %> pdl2
  pdl> $x = sequence(10)  # or any other perl or PDL command
  pdl> print "\$x = $x\n";
  $x = [0 1 2 3 4 5 6 7 8 9]
  pdl> with_time { print +($A->matmult($B))->info, "\n" } for 1..5;

DESCRIPTION

The "pdl2" program, also known as the Perldl2 shell, is a second generation version of the original "perldl" interactive PDL shell. It attempts to be backward compatible in usage while providing improved features, better support for Perl syntax, and an more easily extended framework based on the Devel::REPL shell.

If you have Devel::REPL version 1.003011 or later, then "pdl2" will start with full functionality. If Devel::REPL is not installed or found then "pdl2" will print a warning and run the legacy "perldl" shell command instead.

By default, command lines beginning with the default prompt of either "pdl2" or "perldl" (one of 'pdl> ', 'PDL> ', or 'perldl> ') will have the prefix string and surrounding whitespace stripped. This allows for easy cut-and-paste from sample PDL shell sessions or other examples into another PDL shell session.

For shell-like "Ctrl-C" handling, you need Sys::SigAction installed.

FUNCTIONS

do_print

Toggle print-by-default on and off (default value: off)

By default, "pdl2" does not print the results of operations since the results can be very large (e.g., a small 640x480 RGBA image is still more than 1_000_000 elements). However, for experimenting and debugging more complex structures, it helps to see the results of every operation. The "do_print" routine allows you to toggle between the default "quiet" operation and a full Read, Evaluate, Loop style.

  pdl> $x = pdl(3,2)
  pdl> do_print
  1
  pdl> $x = pdl(3,2)
  $PDL1 = [3 2];
  pdl> do_print
  pdl> $x = pdl(3,2)

VARIABLES

$PDL::toolongtoprint
The maximal size pdls to print (defaults to 10000 elements). This is not just a "perldl" or "pdl2" variable but it is something that is usually needed in an interactive debugging session.

SEE ALSO

perldl, Devel::REPL

2023-06-17 perl v5.36.0