package Devel::REPL::Plugin::DDS;
-use Moose::Role;
+use Devel::REPL::Plugin;
use Data::Dump::Streamer ();
around 'format_result' => sub {
my $to_dump = (@_ > 1) ? [@_] : $_[0];
my $out;
if (ref $to_dump) {
- my $dds = Data::Dump::Streamer->new;
- $dds->Freezer(sub { "$_[0]"; });
- $dds->Data($to_dump);
- $out = $dds->Out;
+ if (overload::Method($to_dump, '""')) {
+ $out = "$to_dump";
+ } else {
+ my $dds = Data::Dump::Streamer->new;
+ $dds->Freezer(sub { "$_[0]"; });
+ $dds->Data($to_dump);
+ $out = $dds->Out;
+ }
} else {
$out = $to_dump;
}
Devel::REPL::Plugin::DDS - Format results with Data::Dump::Streamer
+=head1 SYNOPSIS
+
+ # in your re.pl file:
+ use Devel::REPL;
+ my $repl = Devel::REPL->new;
+ $repl->load_plugin('DDS');
+ $repl->run;
+
+ # after you run re.pl:
+ $ map $_*2, ( 1,2,3 )
+ $ARRAY1 = [
+ 2,
+ 4,
+ 6
+ ];
+
+ $
+
=cut