Sep 21, 2010
Perl 5.12.2 をインストールしてみた
ふと気がつくと、ついこないだ安定版のバージョンが 12 になったばかりの気がしていた Perl 5 がもうサブバージョンも 2 になっていました。今までぽちは debian lenny のパッケージに含まれる Perl 5.10.0 を普段使いの Perl にしていて、必要な Perlモジュールは可能な限り lenny でパッケージ化されている物を使い、それでも足りない物を CPAN からのインストールで補って来ました。そんなぽちも、ふと気がついたのがキッカケで、最新安定版の Perl で最新のモジュールを使える環境を整えてみようかな?なんて思って、システムが使う Perl とぽちが普段使う Perl をキッチリ別々にする事にしました。
方針としては、
- システムで使う Perl 5.10.0 では apt-get や aptitude での パッケージ管理に任せ、CPAN経由でのモジュールのインストールは行わない。
- ぽちが普段使いする Perl 5.12.2 では、モジュールは CPAN で管理し、常に最新の状態を維持する。
- Perl 5.10.0 での動作検証の為に debパッケージ化されていない Perlモジュールが必要なら、dh-make-perl を使って debパッケージ化して、ローカルの aptリポジトリから apt-get や aptitude でインストールする。
という感じです。
まずは、CPANモジュールのアンインストール - holidays-l開発ブログを参考に、5.10.0 に CPAN経由で入れたモジュールの数々をアンインストールしてスッキリさせ、ついでに今まで使っていた ~/.cpan以下も削除してしまいましょう。そして、お待ちかね 5.12.2 のビルド&インストール。インストール先は /usr/local/以下にします。
$ tar xvzf perl-5.12.2.tar.gz $ cd perl-5.12.2 $ ./Configure -Dprefix=/usr/local -Dinstallusrbinperl=N -de $ make $ make test $ sudo make install
これで素の Perl 5.12.2 のインストールが完了しました。
5.12.2 で CPAN からモジュールをインストールする時には、間違って 5.10.0 へインストールしないように、
$ /usr/local/bin/cpan
と、必ずフルパスで CPANシェルを起動さるようにします。
同じように perldoc も
$ /usr/local/bin/perldoc foobar
とフルパスで実行します。
さて、ぽちたての今後の動作検証用に 5.10.0 の方にも Lingua::JA::Fold が欲しいのですけども lenny には debパッケージがありません。仕方がないので dh-make-perl で野良debパッケージを作りました。
$ tar zxvf Lingua-JA-Fold-0.08.tar.gz $ dh-make-perl ./Lingua-JA-Fold-0.08 --build --desc 'To fold a Japanese text.' --version 0.08-0+0pochi1
これで liblingua-ja-fold-perl_0.08-0+0pochi1_all.deb の出来上がり。あとはローカルの aptリポジトリに放り込んで環境を整え、sudo aptitude install liblingua-ja-fold-perl するだけです。
早速 5.10.0 との違いを見てみようと /usr/local/bin/perldoc perldelta してみると
If you are upgrading from an earlier major version, such as 5.10.1,
first read perl5120delta, which describes differences between 5.10.1
and 5.12.0, as well as perl5121delta, which describes earlier changes
in the 5.12 stable release series.
なんて書いてあります。言われた通りに perl5120delta を読んでみると…。
The "..." operator
A new operator, "...", nicknamed the Yada Yada operator, has been
added. It is intended to mark placeholder code that is not yet
implemented. See "Yada Yada Operator" in perlop.
やだやだ演算子!?
とんでもないニックネームに惹かれながら perlop の Yada Yada Operator部分を読んでしまいました。
Yada Yada Operator
The yada yada operator (noted "...") is a placeholder for code. Perl
parses it without error, but when you try to execute a yada yada, it
throws an exception with the text "Unimplemented":
とりあえず未実装の部分に書いておくと、文法の解釈でエラーにしないで、実行時に"Unimplemented"(実行されませんでしたよ)のテキストと例外を投げてくれる演算子みたいです。なんだか範囲演算子とごっちゃになってややこしくなりそうな予感がします。いろいろ perldoc で読むつもりだったのにやだやだ演算子のネーミングが強烈過ぎて今日はここまで。
Sep 17, 2010
ドイツ語やフィンランド語でメールを書きたい!(夢)
ドイツ語やフィンランド語を勉強していると、ドイツ人やフィンランド人のお友だちも居ないのに、メールで文通してみたくなります。メールを書くにはドイツ語やフィンランド語の特殊な文字を書けないといけないのですけども、日本語配列のキーボードではそうした文字をどうやって入力するのでしょうか?今日は、ぽちの普段使いのテキストエディタ、Emacs で多言語入力を行うメモ書きをしてみました。Linux(開発を始めたリーナスさんはスウェーデン語話者のフィンランド人でしたね)上で使う Emacs での方法なので Windowsユーザにはあまり関係無いかもしれませんけども、こんな感じです。
Sep 16, 2010
フィンランドづいた晩夏

ドイツ語を勉強中だというのについついフィンランド語にまで手を出してしまいました。と言っても「フィンランド語のしくみ」は、フィンランド語入門書というよりも、フィンランド語を概観してどんな感じの言語なのかを大雑把に理解出来る読み物的な本です。フィンランド語については「ウラル語族の膠着語」とか、「ヨーロッパではエストニア語やハンガリー語と並ぶ異色言語」といった程度の上辺の知識だけで、その中身に関してはまるっきり知らなかったので、フィンランド語の異色振りがとても興味深くおもしろく読みました。

あんまりおもしろかったので、入門書の「ゼロから話せるフィンランド語」を買って今度は本格的に始めてみようかな?なんて野望を抱いていたります。フィンランド語は「これって…宇宙語?」と思うくらいに文法がややこしくて難しいのですけども、逆にドイツ語が「なんてカンタンな言葉!!」と思えてしまう効果もあったり…。
知人が新婚旅行でフィンランドに行ったり、かもめ食堂を観てほわっとしたり、敬遠してた萌えアニメでフィンランド人キャラに感動させられたり、アニメで日本語を覚えたというとんでもなく日本語の上手なフィンランドの方の動画を観たり、この晩夏はフィンランドな事件が怒涛の如く押し寄せて、すっかりフィンランドづいています。
まずはフィンランディア賛歌を覚えて歌おうかなあ。