release 2.000
[p5sagit/Data-Dumper-Concise.git] / lib / Devel / Dwarn.pm
CommitLineData
60e18490 1package Devel::Dwarn;
2
2570b7be 3use Data::Dumper::Concise::Sugar;
60e18490 4
d71b0a31 5sub import {
6 Data::Dumper::Concise::Sugar->export_to_level(1, @_);
7}
60e18490 8
dc06d25b 9=head1 NAME
10
11Devel::Dwarn - return Dwarn @return_value
12
13=head1 SYNOPSIS
13b908a8 14 use Data::Dumper::Concise::Sugar;
dc06d25b 15
16 return Dwarn some_call(...)
17
18is equivalent to:
19
20 use Data::Dumper::Concise;
21
13b908a8 22 if (wantarray) {
23 my @return = some_call(...);
24 warn Dumper(@return);
25 return @return;
26 } else {
27 my $return = some_call(...);
28 warn Dumper($return);
29 return $return;
30 }
dc06d25b 31
32but shorter. If you need to force scalar context on the value,
33
13b908a8 34 use Data::Dumper::Concise::Sugar;
dc06d25b 35
36 return DwarnS some_call(...)
37
38is equivalent to:
39
40 use Data::Dumper::Concise;
41
42 my $return = some_call(...);
43 warn Dumper($return);
44 return $return;
45
13b908a8 46If you need to force list context on the value,
47
48 use Data::Dumper::Concise::Sugar;
49
50 return DwarnL some_call(...)
51
52is equivalent to:
53
54 use Data::Dumper::Concise;
55
56 my @return = some_call(...);
57 warn Dumper(@return);
58 return @return;
59
60=head1 TIPS AND TRICKS
61
62=head2 global usage
63
64Instead of always just doing:
65
66 use Devel::Dwarn;
67
68 Dwarn ...
69
70We tend to do:
71
72 perl -MDevel::Dwarn foo.pl
73
74(and then in the perl code:)
75
76 ::Dwarn ...
77
78That way, if you leave them in and run without the C<< use Devel::Dwarn >>
79the program will fail to compile and you are less likely to check it in by
80accident. Furthmore it allows that much less friction to add debug messages.
81
82=head2 method chaining
83
84One trick which is useful when doing method chaining is the following:
01223632 85
86 my $foo = Bar->new;
87 $foo->bar->baz->Devel::Dwarn::DwarnS->biff;
88
89which is the same as:
90
91 my $foo = Bar->new;
92 (DwarnS $foo->bar->baz)->biff;
93
dc06d25b 94=head1 SEE ALSO
95
96This module is really just a shortcut for L<Data::Dumper::Concise::Sugar>, check
97it out for more complete documentation.
98
99=cut
100
60e18490 1011;