homeホームHTMLに役立つヒント> Perlドロップレット/アプリひな形

Perlドロップレット/アプリひな形

●このひな形とツールについて

 MacPerlをUNIX Perlに書き換える作業の途中でできてきた副産物です。

 classicOSの時にはMacPerlにお世話になっていました。MacPerlが便利だったのは、Perlスクリプトを簡単にドロップレットにできたり、アプリケーションにしてダブルクリックだけで実行できたからです。

 OSXになってからはUNIXPerlが走るかわりに、MacPerlが動作しなくなりました。何よりドロップレットを作るのが面倒になったのが残念。

 で、なんとかPerlドロップレットやPerlアプリを簡単に作成できないかと。そのためのひな形を作ってみました。基本的にパッケージに含まれる(Finderで「パッケージを開く」を選択する)Perlスクリプト「bandle.pl」を書き換えて使います。

 すべてフリーウェアです。ただし、これを使って何らかの不利益を被ってもいっさい補償はされません。自分用のツールとして作りましたので、エラートラップもほとんどありませんし。

ドロップレットのひな形

 ドロップレットタイプのPerlスクリプトのひな形。ファイルやフォルダをドラッグ・アンド・ドロップして起動させるタイプ。AppleScriptは、ドロップされたアイテムを、パッケージ内のbandle.plに引き渡します。

Perldropletひな形.app Perlドロップレット作成用 ▲ページトップ

 ドロップレット用のひな形です。ファイルやフォルダをドロップして起動させます。AppleScriptのアプリケーションになっています。ドロップされたアイテム(ファイル/フォルダ)は、パッケージに含まれる「bandle.pl」というPerlスクリプトに引き渡されて実行されます。

「bandle.pl」を開いて、ドロプレットとして使っていたMacPerlのスクリプトをペーストすれば、おおむねそのままで使えます。

 実行結果はAppleScriptに戻され、表示されます。ひな形に入っているPerlスクリプトはドロップされたファイルの名前とフォルダの名前、そのフォルダに含まれるファイルの名前を返します。ファイル数が多いと結果を表示しきれないという欠点を持っています。

●ダウンロード

Perldroplet_tmpl.dmg  

Perldroplet_tmlひな形.app Perlドロップレット作成用/ターミナルタイプ ▲ページトップ

 ドロップレット用のひな形です。上と同じく、ファイルやフォルダをドロップして使います。違うのは、「bandle.pl」をターミナル上で実行する点です。

 ドロップしたアイテムまでのパスに日本語があるとうまく動作しないことがあります。

●ダウンロード

Perldroplet_tml_tmpl011.dmg ver.0.11 2008/4/15 ターミナルでウインドウが開いていないとエラーになるが、その場合エラー表示をするようにした。

Perldroplet_tml_tmpl.dmg ver.0.1 2008/4/14

Perlアプリのひな形

 ダブルクリックで起動させるタイプのひな形。AppleScriptは、ドロップされたアイテムを、パッケージ内のbandle.plに引き渡します。

perlAppひな形.app Perlアプリ作成用 ▲ページトップ

 ダブルクリックで起動させます。AppleScriptのアプリケーションになっています。パッケージに含まれる「bandle.pl」というPerlスクリプトを実行し、結果をAppleScriptで表示します。Perlスクリプト単体で動作させるためのものです。

 ひな形に入っているスクリプトは単に「Hello! ハローだぜ」と表示するだけです。AppleScriptで表示させるために結果をshift_jisに変換して表示しています。

●ダウンロード

perlApp_tmpl.dmg  

perlApp_tmlひな形.app Perlアプリ作成用/ターミナルタイプ ▲ページトップ

 上と同じで、Perlスクリプトを単体で動作させるためのものです。違うのは、「bandle.pl」をターミナル上で実行する点です。こちらはPerlスクリプトの文字コードとターミナルの表示文字コードがあっていれば日本語もそのまま表示できます。

●ダウンロード

perlApp_tml_tmpl011.dmg ver.0.11 2008/4/15 ターミナルでウインドウが開いていないとエラーになるが、その場合エラー表示をするようにした。

perlApp_tml_tmpl.dmg ver.0.1 2008/4/14 

ツール類

 MacPerlから.appタイプに書き換える際に使えるツール。

drop_perl.app Perlスクリプト実行ツール ▲ページトップ

 これはちょっと趣が違います。Perlスクリプトをこのアプリケーションにドラッグアンドドロップすると、ターミナルを起動して、ターミナル上でスクリプトを走らせます。Perlスクリプトのデバッグなどで重宝します。Perlアプリを作るのが面倒なら、これをDOCに登録しておいて、Perlスクリプトをドロップしてもいいでしょう。

●ダウンロード

drop_perl.dmg 下と同じです。こちらはアイコンをつけてみました。
drop_perl.app.dmg 最初のバージョン。

openScript.app パッケージ展開ツール ▲ページトップ

 「bandle.pl」スクリプトを書き換えるために、いちいちFinderからパッケージを開くのは面倒なものです。そんなときはアプリをこのツールにドロップしてください。パッケージ内の「Contents:Resources:」フォルダを開いてくれます。

●ダウンロード

openScript.dmg 下と同じです。こちらはアイコンをつけてみました。
openScript.app.dmg 最初のバージョン。

pl_to_txt .txt書き出しツール ▲ページトップ

 これはClassicOS用のAppleScriptです。MacPerlのドロップレットをドロップすると、txtファイルに書き出してくれます。

 下のリンクをクリックするとスクリプトが表示されます。これをコピーして「スクリプト編集プログラム」を立ち上げてペーストします。後は適当な名前を付けてアプリケーションとして保存すれば出来上がりです。

 pl_to_txt.txt AppleScriptJ1-1.8.3 Classic環境用。
 pl_to_txt17.txt 上のスクリプトでは動かないマシンがあって作り直したもの。こちらの動作環境はOS 9でAppleScript J1-1.7。

追加スクリプトのメモ

 MacPerlから移植する場合、よく追加するスクリプトのメモ。

.appのあるディレクトリを取得する ▲ページトップ

# このappのあるディレクトリを取得する
$appname = "perlApp_tml.app"; # appの名前
use Cwd;
my $appdir = getcwd; # bandle.plのあるディレクトリを取得
$appdir =~ s/$appname\/Contents\/Resources//g ; #名前/Contents/Resources/を削除

print "dir : ".$appdir."\n";
exit;

Encode.pmのメモ ▲ページトップ

 jcode.plを使う代わりにEncode.pmを使うためのメモ。

use Encode (from_to);
use Encode qw/ decode encode /;
use Encode::Guess qw/ euc-jp shiftjis 7bit-jis utf8 /;

$allfile = encode( "shiftjis", decode( "Guess",join( undef,$allfile))); # 文字コードを自動判定してShift_jisに変換する


homeホームHTMLに役立つヒント> Perlドロップレット/アプリひな形