アクセスログ解析をPerlで行う場合に最低限必要な(使っている)モジュールを列挙してみた。
基本的にツールレベルなら軽量モジュールを使うけど、これでできない事があれば上位のモジュールを使ってもいい。
1 2 3 4 5 6 | use strict; # お約束 use warnings; # お約束 use CGI::Lite; # 検索ワードのデコードに使う use DBIx::Simple; # ログそのものや集計結果をDBに登録する use Encode; # 文字コード変換 use Text::CSV::Simple; # CSVファイルをまともにパースする |
まったく同様の機能をJavaで書いてみたけど解析そのものは4倍くらい速かった。
ただJavaだと思い立ったらツール作成→実行ができないので、DB関連の所だけInline::Javaで呼び出すって方法がいいのかもしれない。
(やると誰もメンテナンスできなくなるのが難点。もう1人プログラマください・・・)