1XXX(3)                User Contributed Perl Documentation               XXX(3)
2
3
4

NAME

6       XXX - See Your Data in the Nude
7

VERSION

9       This document describes XXX version 0.38.
10

SYNOPSIS

12           use XXX;
13           XXX my $dog = Dog->new({has => ['fleas', 'style']});
14           my $dog = XXX Dog->new({has => ['fleas', 'style']});
15           my $dog = Dog->new(XXX {has => ['fleas', 'style']});
16           my $dog = Dog->new({XXX has => ['fleas', 'style']});
17           my $dog = Dog->new({has => XXX ['fleas', 'style']});
18           my $dog = Dog->new({has => [XXX 'fleas', 'style']});
19

DESCRIPTION

21       "XXX.pm" exports a function called "XXX" that you can put just about
22             anywhere in your Perl code to make it die with a YAML dump of the
23             arguments to its right.
24
25       The charm of XXX-debugging is that it is easy to type, rarely requires
26       parens and stands out visually so that you remember to remove it.
27
28       "XXX.pm" also exports "WWW", "YYY" and "ZZZ" which do similar
29             debugging things.
30

FUNCTIONS

32       "WWW"
33           "WWW" will warn a dump of its arguments, and then return the
34           original arguments. This means you can stick it in the middle of
35           expressions.
36
37           NOTE: If you use WWW with Test::More, it will "diag()" rather than
38           "warn()".
39
40           mnemonic: W for warn
41
42       "XXX"
43           "XXX" will die with a dump of its arguments.
44
45           mnemonic: XXX == Death, Nudity
46
47       "YYY"
48           "YYY" will print a dump of its arguments, and then return the
49           original arguments. This means you can stick it in the middle of
50           expressions.
51
52           NOTE: If you use YYY with Test::More, it will "note()" rather than
53                 "print()".
54
55           mnemonic: YYY == Why Why Why??? or YAML YAML YAML
56
57       "ZZZ"
58           "ZZZ" will Carp::confess a dump of its arguments.
59
60           mnemonic: You should confess all your sins before you sleep.
61           zzzzzzzz
62
63       "DDD"
64           "DDD" will start an interactive debugger session using the
65           "Enbugger" module. By default it will use the Perl debugger, but
66           you can switch to the fancier Devel::Trepan debugger by setting the
67           enviroment variable "PERL_XXX_DEBUGGER=trepan".
68
69           In the debugger session you will be able to both read and modify
70           all variables including lexical variables.
71
72           mnemonic: Debug, Debug, Debug!
73

USE XXX WITHOUT "USE XXX;"

75       If you "export PERL5OPT='-MXXX=global'" in your shell environment, then
76       "XXX" will be always be loaded, and all the functions will also be
77       exported into the "main" namespace. That means you can call "XXX" from
78       any package with "::XXX" (since "::" is a synonym for "main::").
79
80       Also "XXX" will be exported as $::XXX which you can use like this:
81
82           $self->foo->$::WWW->bar;
83
84       This will warn a YAML dump of $self, returning $self so that "bar" will
85       be called correctly.
86

CONFIGURATION

88       By default, "XXX" uses YAML::PP to dump your data. You can change this
89       like so:
90
91           use XXX -with => 'Data::Dumper';
92           use XXX -with => 'Data::Dump';
93           use XXX -with => 'Data::Dump::Color';
94           use XXX -with => 'YAML';
95           use XXX -with => 'YAML::XS';
96           use XXX -with => 'YAML::SomeOtherYamlModule';
97           use XXX -with => 'JSON::Color';
98           use XXX -with => 'JSON::SomeOtherJsonModule';
99
100       You can also use the environment variable "PERL_XXX_DUMPER" to set the
101       module, for example;
102
103           PERL_XXX_DUMPER=JSON::Color perl script.pl
104           PERL_XXX_DUMPER=YAML::PP::Highlight perl script.pl
105
106       Only modules with names beginning with 'YAML' or 'JSON', and the
107       Data::Dumper, Data::Dump, and Data::Dump::Color modules are supported.
108
109       If you need to load XXX with "require", you can set the dumper module
110       with the $XXX::DumpModule global variable.
111
112           require XXX;
113           $XXX::DumpModule = 'YAML::Syck';
114
115           XXX::XXX($variable);
116

STACK TRACE LEVEL

118       If you call a debugging function that calls "XXX" for you, "XXX" will
119       print the wrong file and line number. To force "XXX" to skip a package
120       in the call stack, just define the "XXX_skip" constant like this:
121
122           package MyDebugger;
123           use constant XXX_skip => 1;
124           sub debug {
125               require XXX;
126               XXX::XXX(@_);
127           }
128
129       Now calls to MyDebugger::debug will print the file name you called it
130       from, not from MyDebugger itself.
131

AUTHOR

133       Ingy döt Net <ingy@cpan.org>
134
136       Copyright 2006-2021. Ingy döt Net.
137
138       This program is free software; you can redistribute it and/or modify it
139       under the same terms as Perl itself.
140
141       See <http://www.perl.com/perl/misc/Artistic.html>
142
143
144
145perl v5.34.0                      2022-01-21                            XXX(3)
Impressum