結城浩のはてな日記 このページをアンテナに追加 RSSフィード Twitter

2004年9月4日(Sat)

昨晩は飲み会

おはようございます。昨晩はid:yomoyomoさんを囲む飲み会がありました。参加なさったid:jkondoさんのお話もうかがうことができました。要望として、

をお願いしました。近藤さんは「いい はてなスタッフがいるのでばっちりまかせてくれ」という感じで頼もしい限りです。

翔泳社の『はてなの本』(ASIN:4798107042)はいい本ですね、前半の近藤さんインタビューが面白かったです。と言ったところ、みやのさんから「お買いになったのですか?」と聞かれ、「いや、立ち読みで…」と答えたところ、みんなから「買えよ」と突っ込まれてしまいました。すみません。(^_^;

はてなダイアリーライターVersion 1.0.1を公開

はてなダイアリーライター(はてダラ)の 1.0.1 を公開しました。

  • 今回の修正は小さなものですから、現在動かしている人が無理にバージョンアップする必要はまったくありません。
  • 修正箇所については更新履歴を参照してください。

はてダラのexe化(PAR)

PAR: Perl のスクリプトを Windows 用の実行ファイル (exe形式) に変換するで紹介されているPARを使って、はてなダイアリーライターを単独の実行ファイル(exe)にできないか、とふと思ってごそごそやってみた。一応PARはインストールできたので、

pp -o hw.exe hw.pl

を実行してみる。すると途中で、アプリケーションエラーになって落ちてしまう。ふみぃ。でも深追いはしない(つもり)。

はてダラのexe化(Perl2Exe)

Perl2Exeを使って、hw.plをexeに変換してみる。hw.plのはじめに、

#perl2exe_include LWP::UserAgent
#perl2exe_include HTTP::Request::Common
#perl2exe_include HTTP::Cookies
#perl2exe_include File::Basename
#perl2exe_include Getopt::Std
#perl2exe_include File::Glob

というのを書いておくと、モジュールを埋め込んでくれるようだ。あとは、

perl2exe hw.pl

を実行するだけで、hw.exeの出来上がり。ちなみにこの日記は、いま作ったhw.exeを使って書いている。

でも、ユーザ登録をしないと、

This exe file was created with the evaluation version of Perl2Exe.
For more information visit http://www.indigostar.com
(The full version does not display this message with a 2 second delay.)
...

というメッセージが表示される。このPerl2Exeはフリーソフトではないので注意が必要。評価期間は30日。

hw.exeの大きさは1.2Mぐらい。

2004/09/04  09:29         1,204,429 hw.exe

exeファイルにする理由は、PerlをインストールしていないWindowsユーザにすぐに使ってもらえるというメリットがあるからです。いま、自分のマシンのPerlディレクトリをリネームして(つまりPerlが動かないようにして)hw.exeを動かしてみたところちゃんと動きましたので、大丈夫かと。でもPerl2Exeはフリーじゃないからなあ。

はてダラのexe化(perlcc)

perlccを試そうとしている。私のマシンに、Cコンパイラがすでに入っていないことに気が付いてショックを受ける。(^_^; 最近Cでコード書いていないからなあ…。

はてダラのexe化(PAR, reloaded)

悔しいので、再度PARで挑戦。いったんppmを起動して、

ppm> uninstall PAR

として、PARを削除。それから、PARをインストールしなおす。

ダウンロードは、PAR Homepageから。PAR-0.85.tar.gzというファイルをダウンロードする。後は、コマンドラインを並べてみます。

gunzip PAR-0.85.tar.gz
tar xvf PAR-0.85.tar
cd PAR-0.85
perl Makefile.PL
    (この後、ネットからうにゃうにゃとファイルをダウンロードする)
nmake
nmake install

それから、hw.plを置いているところにいって、

pp -o hw.exe hw.pl

を実行すると、実行ファイルhw.exeが出来上がった。やたっ。

hw.exeの大きさは2Mぐらい。

2004/09/04  16:21         2,147,068 hw.exe

でも、動かそうとしたら、

Unknown encoding 'Shift_JIS' at script/hw.pl line 571

といわれた。ふむ。たぶん、Encodeあたりの問題かな。明示的にuse Encode;をやっておく必要があるかな。お、うまくいった。hw.plを以下のように修正。

# my $enable_encode = eval('use Encode; 1');
my $enable_encode = 1;
use Encode;
use Encode::JP;

もう一度、

pp -o hw.exe hw.pl

を実行。hw.exeの大きさは2.5Mぐらい。

2004/09/04  16:46         2,541,285 hw.exe

exeファイルを試してみたい方のために

上の方法で作ったhw.exeを試してみたい方(たとえば「はてダラ使ってみたいけれど、ActivePerlとかインストールするの面倒」という方)で、転んでも泣かない方は、以下からダウンロードできます。このダウンロードは一時的なものです。

XXXという環境でうまくいったとか、XXXのときはうまくいかないとか、コメント欄に書いていただければありがたいです。

PAR

PARを使ってexeファイルを作る、というのはなんだか楽しい。exeファイルは確かに大きくなるんだけれど、ふだんActivePerlなんかインストールしていないっていう人にPerlで作った「便利なもの」を使ってもらうためにはとてもよい方法かも。