Your company here — click to reach over 10,000 unique daily visitors

pdl2 - Man Page

Simple shell (version 2) for PDL


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;


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.



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
  pdl> $x = pdl(3,2)
  $PDL1 = [3 2];
  pdl> do_print

  pdl> $x = pdl(3,2)



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


2024-06-11 perl v5.40.0 User Contributed Perl Documentation