X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FEval%2FWithLexicals.pm;h=cb6f33dfc3e1e27ed6fbce469adc8046138f5c44;hb=27bd730b61eb292c3c440f934f1acdcaada2fa28;hp=e462063d8e0959c8b537c7c563dcb3df91c3a944;hpb=3fb66cc7c134ee8da56ac1378d87eb653c7b7619;p=p5sagit%2FEval-WithLexicals.git diff --git a/lib/Eval/WithLexicals.pm b/lib/Eval/WithLexicals.pm index e462063..cb6f33d 100644 --- a/lib/Eval/WithLexicals.pm +++ b/lib/Eval/WithLexicals.pm @@ -93,7 +93,7 @@ sub _run { %{$self->lexicals}, %{$self->_grab_captures}, }); - @ret; + return $self->context eq 'list' ? @ret : $ret[0]; } sub _grab_captures { @@ -151,6 +151,11 @@ Eval::WithLexicals - pure perl eval with persistent lexical variables use Eval::WithLexicals; use Term::ReadLine; use Data::Dumper; + use Getopt::Long; + + GetOptions( + "plugin=s" => \my @plugins + ); $SIG{INT} = sub { warn "SIGINT\n" }; @@ -159,7 +164,10 @@ Eval::WithLexicals - pure perl eval with persistent lexical variables $Quotekeys = 0; } - my $eval = Eval::WithLexicals->new; + my $eval = @plugins + ? Eval::WithLexicals->with_plugins(@plugins)->new + : Eval::WithLexicals->new; + my $read = Term::ReadLine->new('Perl REPL'); while (1) { my $line = $read->readline('re.pl$ ');