无法读取从perl IO stream调用时传递的java密码



我们使用以下命令从Perl调用Java代码:

 $fh = IO::Handle->new();
 open($fh,"| $command");

命令为:java MyJavaClass

在Java代码中,我们需要提示用户使用System.in输入密码。

while (true)
{
    switch (c = in.read())
    {
        case 'n':
            break loop;
    }
}

问题是in.read()返回-1,即流结束。

有人有什么建议吗?

您打开的管道中没有传递任何内容。不需要IO::Handle,因为open()将覆盖$fh。我觉得应该是这样的

 open(my $fh,"| $command");
 print $fh "Mypasswordn";

相关内容

  • 没有找到相关文章

最新更新