トップ «前の日記(2008-11-19) 最新 次の日記(2008-11-21)» 編集

2008-11-20 [長年日記]

_ perldoc で日本語出したければ UTF-8 で

結論から言うと

日本語で書いた pod を perldoc で表示したい場合は UTF-8 で書け

ということらしい。

pod2man までは化けずに処理されるんだけど、man 風の仕上げに使う nroff*1 も groff も今のところ ascii, latin1, utf8, cp1047 しか対応してないらしく、euc-jp で書いた pod は化け化けで話にならない。

perldoc -t
pod2text

などで取り出すだけに止めておくのが吉。ちなみに、pdoc は独自に処理しているので大丈夫。#coderepos@freenode で質問したら CPAN で出ればいいし、pod で日本語なんか書かねぇよと言われてしまった。まーcoderepos 怖いそんなもんですね。

昔 euc-jp で perldoc で日本語出てたような気がするんだけど、何かが変わったんでしょうなぁ。もうシステムの標準も UTF-8 だし、Perl も 5.8 で encoding 周り変わったし。

Tags: Perl

*1 *BSDでは groff による emulate

_ リモートの機械から growl

リモートの機械でちょっと時間の掛かる作業をやらせた場合、それの終了に気付かずに放置になってしまうことがよくある。そういう作業をいくつかやらせようと思うと、ちょっと時間が経ったら終了の確認をして、のくり返しがとにかく邪魔くさいなぁと思っていたんだけど、

remote の機械から growl に通知させられたら便利じゃね?

と思いついた。

これまで Growl はインストールしていただけでほとんど使っていなかったんだけど、開発時のテスト結果の通知に使っている人を見かけたりしていて、かっこいいなぁと思ってはいた。

でも Growl そのものは Un*x サーバにはインストールできない。どうしようかと思ったけど、そういえば Ruby 用のライブラリとかあったなぁと思い出して調べ始めた。notify 用の起動可能なコマンドがあるのがいいなと思って調べたらどうもこれがよい感じ。

RubyForge: ruby-growl: Project Info

インストールすると growl コマンドが入る。そこで

echo "hoge" | growl -H HOSTNAME
growl -H HOSTNAME -m MESSAGE

みたいな感じで remote host にメッセージを送信することができる。ただし Growl 側に network 経由の notify を listen するように設定する必要がある。

うんうん。こりゃ便利だ。

cf. Twitter / wtnabe: @takano32 sudo gem install ...