1XXX(3) User Contributed Perl Documentation XXX(3)
2
3
4
6 XXX - See Your Data in the Nude
7
9 This document describes XXX version 0.35.
10
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
21 XXX.pm exports a function called XXX that you can put just about
22 anywhere
23 in your Perl code to make it die with a YAML dump of the arguments
24 to
25 its right.
26
27 The charm of XXX-debugging is that it is easy to type, rarely requires
28 parens and stands out visually so that you remember to remove it.
29
30 XXX.pm also exports WWW, YYY and ZZZ which do similar debugging things.
31
33 WWW WWW will warn a dump of its arguments, and then return the original
34 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 XXX will die with a dump of its arguments.
43
44 mnemonic: XXX == Death, Nudity
45
46 YYY YYY will print a dump of its arguments, and then return the
47 original arguments. This means you can stick it in the middle of
48 expressions.
49
50 NOTE: If you use YYY with Test::More, it will "note()" rather than
51 "print()".
52
53 mnemonic: YYY == Why Why Why??? or YAML YAML YAML
54
55 ZZZ ZZZ will Carp::confess a dump of its arguments.
56
57 mnemonic: You should confess all your sins before you sleep.
58 zzzzzzzz
59
61 By default, XXX uses YAML::PP to dump your data. You can change this
62 like so:
63
64 use XXX -with => 'Data::Dumper';
65 use XXX -with => 'Data::Dump';
66 use XXX -with => 'Data::Dump::Color';
67 use XXX -with => 'YAML';
68 use XXX -with => 'YAML::XS';
69 use XXX -with => 'YAML::SomeOtherYamlModule';
70 use XXX -with => 'JSON::Color';
71 use XXX -with => 'JSON::SomeOtherJsonModule';
72
73 You can also use the environment variable "PERL_XXX_DUMPER" to set the
74 module, for example;
75
76 PERL_XXX_DUMPER=JSON::Color perl script.pl
77 PERL_XXX_DUMPER=YAML::PP::Highlight perl script.pl
78
79 Only modules with names beginning with 'YAML' or 'JSON', and the
80 Data::Dumper, Data::Dump, and Data::Dump::Color modules are supported.
81
82 If you need to load XXX with "require", you can set the dumper module
83 with the $XXX::DumpModule global variable.
84
85 require XXX;
86 $XXX::DumpModule = 'YAML::Syck';
87
88 XXX::XXX($variable);
89
91 If you call a debugging function that calls XXX for you, XXX will print
92 the wrong file and line number. To force XXX to skip a package in the
93 call stack, just define the "XXX_skip" constant like this:
94
95 package MyDebugger;
96 use constant XXX_skip => 1;
97 sub debug {
98 require XXX;
99 XXX::XXX(@_);
100 }
101
102 Now calls to MyDebugger::debug will print the file name you called it
103 from, not from MyDebugger itself.
104
106 Ingy döt Net <ingy@cpan.org>
107
109 Copyright 2006-2020. Ingy döt Net.
110
111 This program is free software; you can redistribute it and/or modify it
112 under the same terms as Perl itself.
113
114 See <http://www.perl.com/perl/misc/Artistic.html>
115
116
117
118perl v5.32.0 2021-01-18 XXX(3)