Commit | Line | Data |
---|---|---|
6f914695 | 1 | use strictures 1; |
2 | use Eval::WithLexicals; | |
3 | use Term::ReadLine; | |
4 | use Data::Dumper::Concise; | |
5 | use Try::Tiny; | |
6 | ||
7 | my $eval = Eval::WithLexicals->new; | |
8 | my $read = Term::ReadLine->new('Perl REPL'); | |
9 | while (1) { | |
10 | my $line = $read->readline('re.pl$ '); | |
11 | exit unless defined $line; | |
12 | my @ret; try { | |
13 | local $SIG{INT} = sub { die "Caught SIGINT" }; | |
14 | @ret = $eval->eval($line); | |
15 | } catch { | |
16 | @ret = ("Error!", $_); | |
17 | }; | |
18 | print Dumper @ret; | |
19 | } |