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=b096f9b85c3c1a062a0c7b85c7c503a92dd0f1c1;hp=ff461f551ee0b437c47ec3894c79d1e7cee0f874;hb=85cd27808a3e9294c1b5345fb5bbca046821933d;hpb=ac5ce6317473fc5d2f0823d812465504b009298f diff --git a/lib/Devel/REPL.pm b/lib/Devel/REPL.pm index ff461f5..b096f9b 100644 --- a/lib/Devel/REPL.pm +++ b/lib/Devel/REPL.pm @@ -2,7 +2,7 @@ package Devel::REPL; use Term::ReadLine; use Moose; -use namespace::clean; +use namespace::clean -except => [ 'meta' ]; with 'MooseX::Object::Pluggable'; @@ -51,9 +51,9 @@ sub eval { } sub compile { - my ($self, $line) = @_; - my $compiled = eval $self->wrap_as_sub($line); - return (undef, $self->error_return("Compile error", $@)) if $@; + my $_REPL = shift; + my $compiled = eval $_REPL->wrap_as_sub($_[0]); + return (undef, $_REPL->error_return("Compile error", $@)) if $@; return $compiled; } @@ -68,9 +68,9 @@ sub mangle_line { } sub execute { - my $REPL = shift; - my @ret = eval { shift->(@_) }; - return $REPL->error_return("Runtime error", $@) if $@; + my ($self, $to_exec, @args) = @_; + my @ret = eval { $to_exec->(@args) }; + return $self->error_return("Runtime error", $@) if $@; return @ret; }