diff options
Diffstat (limited to 'lib/App/REPL.pm')
-rw-r--r-- | lib/App/REPL.pm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/App/REPL.pm b/lib/App/REPL.pm index 4c8110a..916e60c 100644 --- a/lib/App/REPL.pm +++ b/lib/App/REPL.pm @@ -6,6 +6,7 @@ use App::REPL::Plugin::Defaults; use Module::Runtime qw(compose_module_name use_package_optimistically); use Scalar::Util qw(blessed); +use Try::Tiny; sub new { bless { @@ -44,13 +45,13 @@ sub run { my $self = shift; while (defined(my $line = $self->_read)) { - my @result = $self->_eval($line); - if ($@) { - $self->_print_error($@); - } - else { + try { + my @result = $self->_eval($line); $self->_print_result(@result); } + catch { + $self->_print_error($_); + } } print "\n"; } |