ActivePerl + MeCab PPM のテストプログラム2008年01月05日 04時51分30秒

ActivePerl + MeCab PPM のテストプログラムです。

#!/usr/bin/perl -w

use strict;
use Encode;
use MeCab 0.96;


die "Undefined MECABRC." if (!defined($ENV{"MECABRC"}));


my $str = "本日は晴天なり。";

my $t = new MeCab::Tagger("-Owakati");

Encode::from_to($str, "Shift_JIS", "EUC-JP");
$str = $t->parse($str);

Encode::from_to($str, "EUC-JP", "Shift_JIS");
print $str;
  • この Perl スクリプトは Shift_JIS で作成してください。
  • MeCab の辞書は EUC-JP 版の辞書を使用してください。

中国では鮎2008年01月10日 23時22分35秒

ナマズは「鯰」と書きますが、中国では「鮎」(中国音でニューン)と書くそうです。 日本の「鮎」は国字だそうです。(ちなみに「鮎」は中国では「香魚」と書くそうです。)

中国で「手紙」は、「トイレットペーパー」(最近は「衛生紙」と書くらしいが)を指すみたいな話です。

他にも、「美人」が「アメリカ人」のことだったり、同じ文字で意味が違うと、まぎらわしいですね。

PPD ファイル(OSD)について2008年01月19日 18時42分11秒

ActivePerl 用の Perl モジュールは PPM で配布されています。

PPM is the package management utility for ActivePerl.

この PPM は、パッケージの各種情報を記述した PPD ファイルと バイナリをまとめたアーカイブファイルから構成されています。

今回は PPD ファイルの話。 この PPD ファイルは Open Software Description (OSD) に準じている(よう)です。

OSD はサーバからクライアントへのソフトウェアのインストールが可能となるようにした設計されたXMLベースのフォーマットで、MicrosoftとMarimbaによって提唱されました。

OSD リファレンスはこちらで参照することができます。

http://www2.airnet.ne.jp/sardine/docs/osdref.html

http://msdn2.microsoft.com/en-us/library/aa740946(VS.85).aspx

配布している PPM ファイルのライセンスについて2008年01月19日 20時58分51秒

ActivePerl に Perl モジュールのインストールが簡単にできるよう PPM を以前より配布しております。 これらの PPM は、主に Namazu for Windows で利用することを前提としております。 (もちろん Namazu for Windows 以外の用途でご利用いただいても結構です。)

配布しております PPM のライセンスは、基本的にはオリジナル(ソース)のライセンスに従います。

いくつかのプログラムでは、複数のライセンスの中から1つを選ぶことができるものがあります。例えば MeCab は GPL, LGPL, BSD ライセンスの中から選択することができます。 このような複数のライセンスから選択できるプログラムの PPM につきましては、現在のところ GPL ライセンスで配布しております。(MeCab PPM も GPL ライセンスで配布しております。)

なお、以前より各 Perl モジュールのライセンスについてはソースを含めた .zip ファイルに記述しております。

これらの PPM を利用したプログラムを配布される方は、ライセンスに矛盾しないようにご注意ください。

OLE-Storage_Lite PPD を修正2008年01月21日 17時20分12秒

OLE-Storage_Lite は IO-Stringy に依存するので、PPD に DEPENDENCY を追加しました。

OLE-Storage_Lite をインストールする場合に、IO-Stringy がインストールされてなければ、IO-Stringy もインストールするようになります。

これでインストールトラブルが減るのではないかと期待しています。

ActivePerl 5.8.8.822 と 5.10.0.10022008年01月29日 12時31分28秒

Windows 用 Perl の ActivePerl の最新バージョンは次の通りです。

build 800 番台

  • ActivePerl 5.8.8.822 for Windows (x86)
  • ActivePerl 5.8.8.822 for Windows 64-bit (x64)

build 1000 番台

  • ActivePerl 5.10.0.1002 for Windows (x86)
  • ActivePerl 5.10.0.1002 for Windows 64-bit (x64)

このうち、Namazu for Windows 向けに配布している PPM は 800 番台 (x86) 用です。 その他のバージョンでは利用できません。 ご自分で Perl モジュールをコンパイルすればおそらく他のバージョンのものでも Namazu for Windows は使えると思います。

時間と HDD が確保できれば、1000 番台 (x86) 用の PPM も用意したいと思いますが、いつごろ用意できるかは不明です。(スポンサーが見つかれば別ですけど...) もっとも、どれくらいのニーズがあるのかわかりませんので、急ぐ必要もないかとは思っています。

x64 版も試してみたいところですが、残念ながらマシンが確保できていません。OS のライセンスはあるので、マシンの確保ができればいろいろと試してみることは可能かと思います。 ただ、手元の MinGw が x64 に対応していない(MinGw 自体は x64 対応の動きもあるようだが...)ので、Perl モジュールのコンパイルは容易ではないでしょう。 なお、VC++ でコンパイルできるものはそのまま x64 版を作ることもできると思います。

PPM インストール済みパッケージ一覧表示方法2008年01月29日 21時53分09秒

ActivePerl で、インストール済みの Perl パッケージの一覧は次のコマンドで表示することができます。

C:\> ppm query *

ただし、コマンドプロンプトは US モードに切り替えた方が見やすいので、

C:\> us
C:\> ppm query *

とすると良いでしょう。 ちなみに us コマンドでコードページ 437 に切り替えた後、コードページ 932 に戻すには、jp コマンドを用います。

C:\> jp

COM162008年01月31日 17時49分09秒

何気に手元の PC でコマンドプロンプトを開いて mode コマンドを打ってみると...

何と COM1 ~ COM16 までポートがありました。 そんなにシリアルポートを追加した覚えはないのですがね。

Windows のデバイスマネージャから見ると COM1 しかありませんでしたが...。

そんなわけで $DENY_DDN のシリアルポートのマッチングパターンを変更することしました。