Perl Script в фоновом режиме - PullRequest
1 голос
/ 26 мая 2010

У меня есть скрипт perl, который я сделал для автоматического подключения к различным серверам. но его интерфейс - только командная строка. Чтобы сделать его более удобным для обычных пользователей Windows, мне нужно сделать GUI для него.

Моя идея состоит в том, чтобы сделать GUI на языке, таком как VB, java и т. Д., И позволить этому вызывать Perl-скрипт. Мой сценарий будет запускаться в фоновом режиме в командной строке и независимо от результата, который он отображает обратно в графическом интерфейсе.

Получил некоторый успех. GUI в vb, я запускаю экземпляр CMD в фоновом режиме, запускаю сценарий perl в этом. Но это означает, что wer-программа терпит неудачу. Поскольку perl-скрипт выполняется в потоке для perl, я получаю вывод только после завершения сценария (точнее, сказать, когда он истекает ). Мне нужен механизм, где я могу взаимодействовать со скриптом Perl, получать выходные данные скрипта и показывать пользователю, затем принимать данные от пользователя и так далее.

Пожалуйста, не могли бы вы предложить мне какой-нибудь способ, чтобы это произошло.

PS: нет ограничений на использование какого-либо языка для GUI (поскольку основная работа выполняется скриптом perl, GUI только там, чтобы давать соответствующие команды скрипту)

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Посмотрите на Perl Win32 :: GUI

0 голосов
/ 26 мая 2010

Если вы создаете свой графический интерфейс на Java, одном из предложенных вами языков, вы можете запустить скрипт perl, используя метод Runtime.exec (). Вот javadoc для класса Runtime.

Как они предлагают на форумах Sun , вы должны выполнить интерпретатор perl и передать скрипт в качестве аргумента. как "rt.exec (" C: /perl.exe C: \ runPerl.pl ");".

На этом форуме они также предлагают посмотреть следующую статью JavaWorld . На четвертой странице статьи DaConta дает хорошую демонстрацию захвата вывода из сценария Perl, который, я считаю, должен соответствовать вашим потребностям. Ввод работает аналогично, также используя потоки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...