1 package Data::Dumper::Concise::Sugar;
6 use Data::Dumper::Concise ();
8 BEGIN { @ISA = qw(Exporter) }
10 @EXPORT = qw(Dwarn DwarnS);
12 @EXPORT_OK = qw(Dwarn_only DwarnS_only);
14 sub Dwarn { warn Data::Dumper::Concise::Dumper @_; @_ }
16 sub DwarnS ($) { warn Data::Dumper::Concise::Dumper $_[0]; $_[0] }
20 warn Data::Dumper::Concise::Dumper $only->(@_);
24 sub DwarnS_only (&$) {
26 warn Data::Dumper::Concise::Dumper do { local $_ = $_[0]; $only->($_[0]) };
32 Data::Dumper::Concise::Sugar - return Dwarn @return_value
36 use Data::Dumper::Concise::Sugar;
38 return Dwarn some_call(...)
42 use Data::Dumper::Concise;
44 my @return = some_call(...);
48 but shorter. If you need to force scalar context on the value,
50 use Data::Dumper::Concise::Sugar;
52 return DwarnS some_call(...)
56 use Data::Dumper::Concise;
58 my $return = some_call(...);
62 Another trick that is extremely useful when doing method chaining is the
66 $foo->bar->baz->Data::Dumper::Concise::Sugar::DwarnS->biff;
71 (DwarnS $foo->bar->baz)->biff;
75 use Data::Dumper::Concise::Sugar;
77 will import Dwarn and DwarnS into your namespace. Using L<Exporter>, so see
78 its docs for ways to make it do something else.
82 sub Dwarn { warn Data::Dumper::Concise::Dumper @_; @_ }
86 sub DwarnS ($) { warn Data::Dumper::Concise::Dumper $_[0]; $_[0] }
90 You probably want L<Devel::Dwarn>, it's the shorter name for this module.