我有一个perl脚本,我自动telnet到不同的服务器。但它的界面只是命令行。为了使普通Windows用户更加用户友好,我需要为它制作GUI。
我的想法是用VB,java等语言制作GUI,然后调用perl脚本。我的脚本将在命令提示符的后台运行,无论结果如何显示在GUI中。
取得了一些成功。在vb的GUI中,我在后台运行CMD的一个实例,在那里运行perl脚本。但是程序失败。由于perl脚本在perl的一个线程中运行,我只在脚本完成时得到输出(比如当它超时时) )。我需要一种机制,我可以与perl脚本交互,输出脚本并显示给用户,然后从用户那里获取输入,等等。
请你们能告诉我一些实际发生这种情况的方法。
PS:对GUI使用任何语言都没有限制(因为核心工作是由perl脚本完成的,只有GUI才能给脚本提供适当的命令)
提前致谢
答案 0 :(得分:1)
看看Perl的Win32::GUI
答案 1 :(得分:0)
如果使用Java(您建议的语言之一)创建GUI,则可以使用Runtime.exec()方法运行perl脚本。这是Runtime类的javadoc。
正如他们在Sun forums中建议的那样,你必须执行perl解释器并将脚本作为参数传递。比如“rt.exec(”C:/perl.exe C:\ runPerl.pl“);”。
在该论坛中,他们还建议查看以下JavaWorld article。在本文的第4页,DaConta很好地演示了捕获perl脚本的输出,我相信它应该适合您的需求。输入也类似,也使用流。