X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=lib%2FDevel%2FREPL.pm;h=a46fbbe04c4540d674cecd3fbedec5756f1de90c;hp=4337fa11c52bb057d8047d3c09ff880004c307f2;hb=97d28d6b74a5aa91b2af19a28c438caa193bfac0;hpb=c1d5d500f9b447e61d06387a7123465b9ccd80cb diff --git a/lib/Devel/REPL.pm b/lib/Devel/REPL.pm index 4337fa1..a46fbbe 100644 --- a/lib/Devel/REPL.pm +++ b/lib/Devel/REPL.pm @@ -3,9 +3,9 @@ package Devel::REPL; use Term::ReadLine; use Moose; use namespace::clean -except => [ 'meta' ]; -use 5.8.1; # might work with earlier perls but probably not +use 5.008001; # backwards compat, doesn't warn like 5.8.1 -our $VERSION = '1.001000'; # 1.1.0 +our $VERSION = '1.002001'; # 1.2.1 with 'MooseX::Object::Pluggable'; @@ -36,7 +36,13 @@ sub run_once { my $line = $self->read; return unless defined($line); # undefined value == EOF my @ret = $self->eval($line); - $self->print(@ret); + eval { + $self->print(@ret); + }; + if ($@) { + my $error = $@; + eval { $self->print("Error printing! - $error\n"); }; + } return 1; } @@ -87,6 +93,7 @@ sub print { my $fh = $self->out_fh; no warnings 'uninitialized'; print $fh "@ret"; + print $fh "\n" if $self->term->ReadLine =~ /Gnu/; } =head1 NAME