NAME Pry - intrude on your code SYNOPSIS use Pry; ...; pry; ...; DESCRIPTION Kind of a bit like a debugger, kind of a bit like a REPL. This module gives you a function called `pry` that you can drop into your code anywhere. When Perl executes that line of code, it will stop and drop you into a REPL. You can use the REPL to inspect any lexical variables (and even alter them), call functions and methods, and so on. All the clever stuff is in the REPL. Rather than writing yet another Perl REPL, Pry uses Reply, which is an awesome yet fairly small REPL with support for plugins that can do some really useful stuff, such as auto-complete of function and variable names. Once you've finished using the REPL, just hit Ctrl+D and your code will resume execution. Functions `pry()` Starts the Pry REPL. `pry(@varnames)` Dumps selected variables before starting the Pry REPL. Note a list of variable *names* is expected; not *values*. For example: my $x = 42; my @y = (666, 999); pry('$x', '@y'); Utility Functions The following functions are provided for your convenience. They cannot be exported, so you should access them, from the REPL, using their fully-qualified name. `Pry::Lexicals` Returns a hashref of your lexical variables. `Pry::Trace` Returns the stack trace as a Devel::StackTrace object. `Pry::Dump(@variable_names)` Dumps variables (which must exist somewhere in the `Pry::Lexicals` hashref). Package Variable $Pry::Dumper Decides the backend dumper implementation used by `Pry::Dump()`. Valid values are "Data::Dump" and "Data::Dumper". CONFIGURATION Pry's REPL can be configured in the same way as Reply. CAVEATS I imagine this probably breaks pretty badly in a multi-threaded or multi-process scenario. BUGS Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Pry>. SEE ALSO <http://en.wikipedia.org/wiki/Read–eval–print_loop>, Reply. AUTHOR Toby Inkster <tobyink@cpan.org>. COPYRIGHT AND LICENCE This software is copyright (c) 2014 by Toby Inkster. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. DISCLAIMER OF WARRANTIES THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.