将stdin输入传递到perl脚本以进行远程执行

将stdin输入传递到perl脚本以进行远程执行,perl,Perl,我有一个Perl脚本,它使用openssh访问远程机器,并在远程机器上执行Perl脚本 现在的问题是,需要在远程机器上执行的脚本是一个交互式脚本,在执行过程中需要通过STDIN进行一些输入 有人能帮我实现这个场景吗 我正在放置我迄今为止实现的代码片段 my $ssh = Net::OpenSSH->new("$host", timeout => 60) or die "unable to connect to remote host: ". $ssh->error; $ssh-

我有一个Perl脚本,它使用openssh访问远程机器,并在远程机器上执行Perl脚本

现在的问题是,需要在远程机器上执行的脚本是一个交互式脚本,在执行过程中需要通过STDIN进行一些输入

有人能帮我实现这个场景吗

我正在放置我迄今为止实现的代码片段

my $ssh = Net::OpenSSH->new("$host", timeout => 60) or die "unable to connect to remote host: ". $ssh->error;
$ssh->system("chmod 755 abc.pl"); 
my $output=$ssh->capture("./abc.pl") or die "remote command failed: "  . $ssh->error;

如果执行是自动完成的,则无法请求用户输入。您必须手动运行脚本,或者必须修改远程服务器上的脚本以接受来自远程执行的变量。

请参见此处:capture提供了用于此操作的选项stdinu data。如果交互很复杂,您可能希望使用Expect。阅读模块文档!