.pmナマズ化計画

.pm ファイルの全文検索データベースを作れば、vars モジュールなどが実際にどんな使い方をされているかがたちどころに分かります。.pm ファイルのナマズ化に挑戦しましょう。

まず、namazu のインデックスファイルを納めるディレクトリーを作成します。

$ mkdir ~/perl/pmindex/

次にそのディレクトリーに移動します。

$ cd ~/perl/pmindex/

.pm ファイルの所在を確かめます。

$ perl -e 'for (@INC) { print $_, "\n" }'
/usr/lib/perl5/i386-linux/5.00404
/usr/lib/perl5
/usr/lib/perl5/site_perl/i386-linux
/usr/lib/perl5/site_perl
.

次のように入力してインデックスファイルを作成します。mknmz の -a オプションを使って /usr/lib/perl5 以下の全てのファイルのインデックスを作ります。残念ながら私の環境は Vine Linux 1.1 なので、mknmz のバージョンが v.1.3.0.6 です。mknmz 2.0 ならもっとスマートにできると思います。実はpostgres に入っているデータを新しいバージョンに移す方法を知らないので泣く泣くバージョンアップしていないのです。

$ mknmz -a /usr/lib/perl5/

検索用のプログラム pmnmz を次のように ~/bin/ に作成します。

#!/bin/sh
namazu -h $@ ~/perl/pmindex/ | w3m -T text/html

パーミッションを実行可能にします。

$ chmod 755 ~/bin/pmnmz

検索してみましょう。(操作法は本ページの nmz スクリプトと同じです。)

$ pmnmz -a Exporter
Namazu による全文検索システム

現在、 1,150 のファイルがインデックス化され、 194,275 個のキーワードが登録され
ています。

インデックスの最終更新日: 06/26/2000
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

検索結果

参考ヒット数: [ Exporter: 101 ]

検索式にマッチする 101 個の文書が見つかりました。

1. Exporter.pm (Text File) (score: 41)
    Date: Wed, 13 Jan 1999 01:45:54
    package Exporter; require 5.001; We go to a lot of trouble not to 'require
    Carp' at file scope, because Carp requires Exporter, and something has to
    give. $ExportLevel = 0; $Verbose = 0 unless $Verbos
    /usr/lib/perl5/Exporter.pm size (14,112 bytes)