LaunchBarからapplescriptを呼び出してperlのワンライナーに渡す。
デスクトップからさくっとgoogle翻訳してもらいために
LaunchBar経由のapplescriptを書いていたのですが
perlを外部ファイルにするよりもワンライナーのほうがスッキリ。
applescript->DangoTrans.scpt
display dialog "団子入力" default answer "" buttons {"Cancel", "OK"} default button 2 set myResult to text returned of result set trans to do shell script "cd;perl ~/src/perl/trans.pl " & myResult display dialog trans
perl->trans.pl
#!/usr/bin/perl use strict; use LWP::Simple; my $URL = 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q='; my $URLsecond = '&langpair=en|ja'; my $sentence = join(" ",@ARGV); my $result = get("$URL$sentence$URLsecond"); $result =~ s/.*Text":"(.*)"}.*/$1/; print $1;
内容はgoogleのapiを叩いて置換する以上。
ちなみにapplescriptには標準出力で値が渡せます。
perl -MLWP::Simple -e 'print $1 if get("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=sex&langpair=en|ja") =~ /.*Text":"(.*)"}.*/;'
あとはapplescriptからの引数を渡すのとLaunchBar用の表示scriptを考えるだけ。
めざせ一行野郎ガンバルゾ。