1Created on: Thu 10 Dec 2009 10:32:58 PM 2Last saved: Tue 09 Jul 2013 08:51:39 AM 3 4 5+-----------------------------------------------------------+ 6| OS/Platforms supported: ALL | 7+-----------------------------------------------------------+ 8 9This directory contains development efforts for a new and 10improved perldl shell (Perldl2). 11 12You need to install the version 1.003011 of Devel::REPL 13and have installed either Term::ReadLine::Perl or 14Term::ReadLine::Gnu in order to use the new Perldl2 shell 15capabilities. 16 17 18+-----------------------------------------------------------+ 19| CONTENTS | 20+-----------------------------------------------------------+ 21 22 README 23 This file 24 25 TODO 26 Development list for Perldl2 shell 27 28 Makefile.PL 29 Perl configuration/build script for Perldl2 30 31 Plugin/ 32 Profile/ 33 Script.pm 34 Perl modules and directories with modules for Perldl2 35 36 pdl2 37 A perl script for starting the Perldl2 shell. 38 (Falls back to the original perldl if either Devel::REPL 39 or neither Term::ReadLine::Gnu nor Term::ReadLine::Perl 40 are installed.) 41 42 43+-----------------------------------------------------------+ 44| INSTALLATION | 45+-----------------------------------------------------------+ 46 47 By default, the Perldl2 shell is always built and the 48 pdl2 script installed. To disable this, edit the 49 WITH_DEVEL_REPL option in the perldl.conf file. 50 51 You will need to install Devel::REPL version 1.003011 52 or greater and either of Term::ReadLine::Gnu or 53 Term::ReadLine::Perl to access the new pdl2 capabilities. 54 55 56+-----------------------------------------------------------+ 57| USE | 58+-----------------------------------------------------------+ 59 60 To use the Perldl2 shell, from the PDL build directory 61 run the following: 62 63 perl -Mblib Perldl2/pdl2 64 65 If you have installed the just built PDL, you should 66 be able to run: 67 68 pdl2 69 70 To exit the Perldl2 shell from the 'pdl> ' prompt, type 71 Ctrl-D or quit, (q, x, and exit shortcuts are also 72 available). If Devel::REPL is not installed (or you 73 don't have either TR::Gnu or TR::Perl), pdl2 will use 74 perldl instead but the new Perldl2 features will not 75 be available. 76 77 The idea is that one just uses pdl2 where you used to 78 use perldl. At some point, the development will be 79 complete and there will be only one PDL shell. 80 81 82+-----------------------------------------------------------+ 83| NOTES | 84+-----------------------------------------------------------+ 85 86 Supported functionality from Devel::REPL and PDL: 87 * DDS (pretty prints output using Data::Dump::Streamer) 88 * History (redo commands with !-1 and !<num> syntax) 89 * Interrupt (interrupt with Ctrl-C; not on MSWin32) 90 * LexEnv (e.g., my $a = zeros(10) works) 91 * MultiLine::PPI (handles multiline input like perldl) 92 * NiceSlice (PDL::NiceSlice works too!) 93 * Packages (keeps track of current user package) 94 * PDLCommands (perldl shell v1 convenience routines) 95 * ReadLineHistory 96 * Save and restore command history to file 97 * CompletionDrivers 98 * Globals (completion for globals) 99 * INC (completion for use module::name) 100 * Keywords (completion for perl keywords) 101 * LexEnv (completion for lexical vars) 102 * Methods (completion of method names) 103 104 Default PDL modules loaded: 105 * PDL 106 * PDL::Dbg 107 * PDL::Doc::Perldl 108 * PDL::IO::Dumper 109 * PDL::IO::FlexRaw 110 * PDL::IO::Pic 111 * PDL::Image2D 112 * PDL::AutoLoader 113 114 ? and ?? are aliases for help and apropos 115 116 Arguments to help|usage|apropos|sig|badinfo|demo are autoquoted 117 118 Shell escapes start with $PERLDL::ESCAPE as the first character 119 of a line ('#' by default). 120 121 l <num> prints the last <num> lines of history, default 20. 122 123 p prints the following args separated by space (i.e., $,=' ') 124 125 demo as a command by itself lists the possible demos available. 126 Otherwise it runs the specified demo. 127 128 By default, leading patterns matching the pdl2 shell 129 prompt ('pdl> ' with possible surrounding white space) 130 are stripped from the input. That allows for easy 131 cut-and-paste of pdl2 sessions from examples, demos, 132 or docs. 133 134 The Perldl2 shell, pdl2, loads/saves from the same history 135 file as perldl. 136 137 The Perldl2 shell, pdl2, loads your .perldlrc file 138 from the same location as the perldl shell does. It also 139 accepts .pdlrc as the name---looking forward to the new 140 naming scheme for the interactive shell. A local.pdlrc 141 or local.perldlrc are run if present as well. 142