2005-11-06 [長年日記]
@ [linux] win32版のSylpheed
久々にSylpheedのサイトを見たらどうやら開発版の2.1.5からwin32版が本格的に始動しているようです。これでソースを自分でコンパイルする必要なし。素晴らしい!(以前コンパイルしようとして失敗した)
@ [life] 一つのことに集中できない
タイトルの通り、ここ1年ぐらい「一つのことに集中できてないな」とよく思います。特にプライベートな時間にネットで調べ物をしていると、気付いたら当初の目的とは全然かけはなれたサイトの文章を読んでいたりします。
ついさっきもSylpheed立ち上げて会社にメールを送ろうとしていたのですが
- アドレス帳に会社のアカウントが登録されていなかった
- そこからなぜかSylpheedの最新版が出ていないか気になった
- Sylpheedのサイトに行くとwin32のβ版がリリースされていた
- 嬉しくなってこの日記に記事を書いた
みたいな感じで当初の目的を忘れ、立ち上がっていたSylpheedのウィンドウを見てやっと「あ、俺メール書こうとしてたんだった」と思い出したのでした。プライベートは別にどうだっていいのですが、仕事をしていてもこんな感じで別のことに夢中になって大事なことを忘れてたりしてそうなのが非常に怖いです。。。
@ [perl] 最近好きなループの書き方
昔はよく↓のようなコードを書いてましたが
my @new_list;
foreach (@old_list) {
push @new_list, $_ if ($_ ne '');
}
ちょっとしたループなら
my @new_list = map { $_ if ($_ ne ''); } @old_list;
と書いた方が素敵な気がします。
@ [perl] Perl版Antみたいなやつ - PackMan
JavaにはAnt、RubyにはRakeがあるのに、Perlにはそれらしいのがない!*1ということで実験的にちょっと作ってます。その名もPackMan(名前はテキトー)。
Packfile*2を作成して、コマンドを実行するとPackfileに書いた内容が実行されるというもの。とてつもなくRakeのパクリですがまぁPerlの勉強がてら作ってみたかったのでやっちゃいました。
例えば、下記のような Packfile をカレントディレクトリに作成して packman.pl というスクリプトを実行すると
# Packfile(Makefileみたいなもん)
# -*- cperl -*-
# デフォルトで実行するタスク
default_task "hello";
# initタスク
task
name => "init",
desc => "Initialize",
code => sub {
my $task = shift;
print "初期化しています...\n"
}
;
# helloタスク
task
name => "hello",
desc => "Print hello world",
deps => [ qw(init) ],
code => sub {
my $task = shift;
print "Hello world!\n";
}
;
$ packman.pl --tasks (定義されているタスクの表示) ######################################## # Task descriptions for `z:/windata/epcb/build-tools/packman/packfile' ######################################## TASK DESCRIPTION init # Initialize hello # Print hello world
$ packman.pl hello (helloタスクの実行) 初期化しています... Hello world!
というようにタスクごとのコードが実行されます。とりあえず引越しの現実逃避で作ってみましたが、まだまだ完成度が低いのでレベル上げてから(1ヵ月後ぐらい?)公開します。
description fZOurBDyB3pC http://tinyurl.co.uk/foks