##
sub backticks {
open(my $fh, "-|", @_) or die "fork failed: $1";
do { local($/); <$fh> }
}
####
backticks('perl', '-e', $x);
backticks('perl', '-e', E($x));
backticks('ssh', $host, 'perl', '-e', E($x));
backticks('ssh', $host1, 'ssh', $host2, 'perl', '-e', E($x));
####
sub E {
my $f = 'H'.(2*length($_[0]));
return "eval(pack(q/$f/,q/" . unpack("H*",$_[0]) . '/))';
}
####
open(..., "-|", @$invoke_perl, '-e', E($script))