Perl で使うためのライブラリモジュールです。 だいたい必要に迫られて作り始めることが多いのですが、モジュールとして何とか形になるころにはその必要な作業が大方済んでしまっていたりして何ともアレです。
Perl だけで実装されたものと、 Perl に加えて C (など) で実装されたモジュールを併用するものがあります。 ここでは前者を単にモジュール、後者をエクステンションモジュールと書いています。
基本的に Perl 5.004 以降で開発とテストを行っています。
インストール方法は多くの Perl モジュールと同じように perl Makefile.PL → make (→ make test) → make install です。 Perl のみで実装されたモジュールの場合にも make が必要ですのでご注意ください。
INN::Compat::Wildmat
IntelHex
IO86
Libc::Syslog
Perl だけで実装されたモジュールです。 インストールされるファイルは基本的にマシン非依存です。
wildmat と互換のパターンマッチを実装した
Perl モジュールです。 Perl のみで実装されており XS は使っていません。
wildmat、wildmat_simple のほか、パターンを
Perl の正規表現に「コンパイル」する関数を用意しています。ただし、
wildmat_poison は未実装です。
wildmat では使えます。
Perl 5.6 で use utf8; すれば実は一発かも)。
Perl で書かれたモジュールに C で実装されたモジュールを併用するものです。 こちらはインストールの時にコンパイルが必要です。 C で実装されたモジュールはふつう共有オブジェクトの形式でインストールされ、 必要に応じて Perl 本体に動的にロードされます。
注) 本当は C 以外に C++ なども使用できるのですが、ここに置いているエクステンションでは C しか使っていません。
inb PORT や
outw DATA, PORT
といった Perl サブルーチンを提供します。
ストリングI/O (insb など) も一応できるはずです。
まぁ Linux/i386 の <asm/io.h> とか
GCC の asm() 文で I/O 命令を使ったことのある人向けです。
(^^;
(Linux/i386 以外は未確認)
Sys::Syslog と似たようなもの
(実際、モジュール名以外はほぼコンパチブル) ですが、
ログの実際の出力はシステムの標準Cライブラリ (libc) の
syslog() を呼び出しています。したがって
syslog() はシステム固有のトランスポート
(SunOS 5 の door とか) を使ってくれるかもしれない
syslog.ph がいらない
(Perl 5.6 以降だと Sys::Syslog も
syslog.ph なしで使えますが)