Использование Platypus для создания приложений Mac OS X из сценария perl
Можно ли получить пользовательский ввод при использовании Platypus для создания приложения из скрипта?
У меня есть простой Perl-скрипт. Который, если я запускаю из терминала, он запрашивает ввод пользователя. Но когда я создаю файл приложения с помощью Platypus, отображается только вывод скрипта.
1 ответ
Решение
Документация ясна по этому вопросу, нет двунаправленной связи; см. http://www.sveinbjorn.org/files/manpages/PlatypusDocumentation.html
Это оставляет вам несколько обходных путей;
- Используйте и ожидайте, что скрипт введет ваши данные;
- Обновите ваш скрипт, чтобы принимать аргументы, что является функцией, поддерживаемой platypus;
- Если вам нужно добавить больше динамической информации, рассмотрите возможность использования диалога TK для запроса ввода данных пользователем;
- На Mac вы можете использовать osascript для вызова диалога с минимальным кодом;
Пример сценария OSA
#!/usr/bin/env perl
use strict;
sub osascript($) { system 'osascript', map { ('-e', $_) } split(/\n/, $_[0]); }
sub dialog {
my ($text, $default) = @_;
osascript(qq{
tell app "System Events"
text returned of (display dialog "$text" default answer "$default" buttons {"OK"} default button 1 with title "$(basename $0)")
end tell
});
}
my $result = dialog("Life, the universe and everything?", "42");