Commit | Line | Data |
---|---|---|
1716b200 | 1 | use strict; |
2 | use warnings; | |
950232b2 | 3 | package Devel::REPL::Plugin::DDS; |
9d2a4940 | 4 | # ABSTRACT: Format results with Data::Dump::Streamer |
950232b2 | 5 | |
c45376f3 | 6 | our $VERSION = '1.003029'; |
54beb05d | 7 | |
6a5409bc | 8 | use Devel::REPL::Plugin; |
950232b2 | 9 | use Data::Dump::Streamer (); |
1d6c2dbc | 10 | use namespace::autoclean; |
950232b2 | 11 | |
e22aa835 | 12 | around 'format_result' => sub { |
767c76dd | 13 | my $orig = shift; |
14 | my $self = shift; | |
15 | my @to_dump = @_; | |
16 | my $out; | |
882e1d11 | 17 | if (@to_dump > 1 || ref $to_dump[0]) { |
767c76dd | 18 | if (@to_dump == 1 && overload::Method($to_dump[0], '""')) { |
19 | $out = "@to_dump"; | |
20 | } else { | |
21 | my $dds = Data::Dump::Streamer->new; | |
22 | $dds->Freezer(sub { "$_[0]"; }); | |
23 | $dds->Data(@to_dump); | |
24 | $out = $dds->Out; | |
25 | } | |
26 | } else { | |
27 | $out = $to_dump[0]; | |
28 | } | |
29 | $self->$orig($out); | |
950232b2 | 30 | }; |
31 | ||
32 | 1; | |
cfd1094b | 33 | |
34 | __END__ | |
35 | ||
9d2a4940 | 36 | =pod |
cfd1094b | 37 | |
e4761e81 | 38 | =head1 SYNOPSIS |
39 | ||
40 | # in your re.pl file: | |
41 | use Devel::REPL; | |
42 | my $repl = Devel::REPL->new; | |
43 | $repl->load_plugin('DDS'); | |
44 | $repl->run; | |
45 | ||
46 | # after you run re.pl: | |
47 | $ map $_*2, ( 1,2,3 ) | |
48 | $ARRAY1 = [ | |
49 | 2, | |
50 | 4, | |
51 | 6 | |
52 | ]; | |
53 | ||
54 | $ | |
55 | ||
cfd1094b | 56 | =cut |