remove pointless debug line
[scpubgit/Object-Remote.git] / lib / Object / Remote / Role / Connector / PerlInterpreter.pm
CommitLineData
a9fdb55e 1package Object::Remote::Role::Connector::PerlInterpreter;
2
3use IPC::Open2;
4use Object::Remote::ModuleSender;
5use Object::Remote::Handle;
6use Object::Remote::FatNode;
7use Moo::Role;
8
9with 'Object::Remote::Role::Connector';
10
11around connect => sub {
12 my ($orig, $self) = (shift, shift);
13 my $conn = $self->$orig(@_);
14 Object::Remote::Handle->new(
15 connection => $conn,
16 class => 'Object::Remote::ModuleLoader',
17 args => { module_sender => Object::Remote::ModuleSender->new }
18 )->disarm_free;
19 return $conn;
20};
21
22sub _perl_command { 'perl', '-' }
23
24sub _open2_for {
25 my $self = shift;
26 my $pid = open2(
27 my $foreign_stdout,
28 my $foreign_stdin,
29 $self->_perl_command(@_),
30 ) or die "Failed to run perl at '$_[0]': $!";
31 print $foreign_stdin $Object::Remote::FatNode::DATA, "__END__\n";
32 return ($foreign_stdin, $foreign_stdout, $pid);
33}
34
351;