8 my $pid = open2(my $out, my $in, $^X, qw(-Ilib takd))
9 or die "Couldn't open2 child: $!";
11 my $channel = Tak::JSONChannel->new(
16 my $router = Tak::Router->new(
20 my $remote = Tak::Remote->new(
25 my $read = Term::ReadLine->new('REPL');
28 my $line = $read->readline('re.pl$ ');
29 exit unless defined $line;
30 next unless length $line;
31 my $reply = [ $remote->blocking_request(eval => $line) ];
32 if ($reply->[0] eq 'MISTAKE') {
33 die "Botch: ".join(': ', @{$reply}[1,2]);
35 my $ret = $reply->[1];
38 chomp($ret->{stdout});
39 print "STDOUT:\n${\$ret->{stdout}}\n";
42 chomp($ret->{stderr});
43 print "STDERR:\n${\$ret->{stderr}}\n";