使用Platypus从perl脚本创建Mac OS X应用程序

时间:2015-11-09 02:25:59

标签: perl platypus

使用Platypus从脚本构建应用程序时是否可以获得用户输入?

我有一个简单的perl脚本。如果我从终端运行,它会要求用户输入。但是当我使用Platypus构建应用程序文件时,只显示脚本的输出。

1 个答案:

答案 0 :(得分:1)

文件清楚,没有双向沟通;见http://www.sveinbjorn.org/files/manpages/PlatypusDocumentation.html#812

这给你留下了一些解决方法;

  • Use and expect script注入您的输入;
  • 更新您的脚本以获取参数,这是platypus支持的功能;
  • 如果您需要添加更多动态信息,请考虑使用TK dialog来查询用户输入;
  • 在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");

enter image description here