summaryrefslogtreecommitdiff
path: root/lib/XXX.pod
diff options
context:
space:
mode:
Diffstat (limited to 'lib/XXX.pod')
-rw-r--r--lib/XXX.pod66
1 files changed, 47 insertions, 19 deletions
diff --git a/lib/XXX.pod b/lib/XXX.pod
index 04f42c4..3cce5b4 100644
--- a/lib/XXX.pod
+++ b/lib/XXX.pod
@@ -12,7 +12,7 @@ XXX - See Your Data in the Nude
=head1 VERSION
-This document describes L<XXX> version B<0.35>.
+This document describes L<XXX> version B<0.38>.
=for html
<a href="https://travis-ci.org/ingydotnet/xxx-pm"><img src="https://travis-ci.org/ingydotnet/xxx-pm.png" alt="xxx-pm"></a>
@@ -30,37 +30,38 @@ This document describes L<XXX> version B<0.35>.
=head1 DESCRIPTION
-XXX.pm exports a function called XXX that you can put just about anywhere
- in your Perl code to make it die with a YAML dump of the arguments to
- its right.
+C<XXX.pm> exports a function called C<XXX> that you can put just about
+ anywhere in your Perl code to make it die with a YAML dump of the
+ arguments to its right.
The charm of XXX-debugging is that it is easy to type, rarely requires parens
and stands out visually so that you remember to remove it.
-XXX.pm also exports WWW, YYY and ZZZ which do similar debugging things.
+C<XXX.pm> also exports C<WWW>, C<YYY> and C<ZZZ> which do similar
+ debugging things.
=head1 FUNCTIONS
=over
-=item WWW
+=item C<WWW>
-WWW will warn a dump of its arguments, and then return the original arguments.
-This means you can stick it in the middle of expressions.
+C<WWW> will warn a dump of its arguments, and then return the original
+arguments. This means you can stick it in the middle of expressions.
NOTE: If you use WWW with Test::More, it will C<diag()> rather than C<warn()>.
mnemonic: W for warn
-=item XXX
+=item C<XXX>
-XXX will die with a dump of its arguments.
+C<XXX> will die with a dump of its arguments.
mnemonic: XXX == Death, Nudity
-=item YYY
+=item C<YYY>
-YYY will print a dump of its arguments, and then return the original
+C<YYY> will print a dump of its arguments, and then return the original
arguments. This means you can stick it in the middle of expressions.
NOTE: If you use YYY with Test::More, it will C<note()> rather than
@@ -68,17 +69,44 @@ NOTE: If you use YYY with Test::More, it will C<note()> rather than
mnemonic: YYY == Why Why Why??? or YAML YAML YAML
-=item ZZZ
+=item C<ZZZ>
-ZZZ will Carp::confess a dump of its arguments.
+C<ZZZ> will Carp::confess a dump of its arguments.
mnemonic: You should confess all your sins before you sleep. zzzzzzzz
+=item C<DDD>
+
+C<DDD> will start an interactive debugger session using the C<Enbugger>
+module. By default it will use the Perl debugger, but you can switch to the
+fancier Devel::Trepan debugger by setting the enviroment variable
+C<PERL_XXX_DEBUGGER=trepan>.
+
+In the debugger session you will be able to both read and modify all variables
+including lexical variables.
+
+mnemonic: Debug, Debug, Debug!
+
=back
+=head1 USE XXX WITHOUT C<USE XXX;>
+
+If you C<export PERL5OPT='-MXXX=global'> in your shell environment, then
+C<XXX> will be always be loaded, and all the functions will also be exported
+into the C<main> namespace. That means you can call C<XXX> from any package
+with C<::XXX> (since C<::> is a synonym for C<main::>).
+
+Also C<XXX> will be exported as C<$::XXX> which you can use like this:
+
+ $self->foo->$::WWW->bar;
+
+This will warn a YAML dump of C<$self>, returning C<$self> so that C<bar> will
+be called correctly.
+
=head1 CONFIGURATION
-By default, XXX uses YAML::PP to dump your data. You can change this like so:
+By default, C<XXX> uses YAML::PP to dump your data. You can change this like
+so:
use XXX -with => 'Data::Dumper';
use XXX -with => 'Data::Dump';
@@ -108,9 +136,9 @@ the C<$XXX::DumpModule> global variable.
=head1 STACK TRACE LEVEL
-If you call a debugging function that calls XXX for you, XXX will print the
-wrong file and line number. To force XXX to skip a package in the call stack,
-just define the C<XXX_skip> constant like this:
+If you call a debugging function that calls C<XXX> for you, C<XXX> will print
+the wrong file and line number. To force C<XXX> to skip a package in the call
+stack, just define the C<XXX_skip> constant like this:
package MyDebugger;
use constant XXX_skip => 1;
@@ -128,7 +156,7 @@ Ingy döt Net <ingy@cpan.org>
=head1 COPYRIGHT AND LICENSE
-Copyright 2006-2020. Ingy döt Net.
+Copyright 2006-2021. Ingy döt Net.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.