www.srekcah.org > ~utashiro > perl > scripts


My Perl Scripts


ここにあるのは、自作の Perl のコマンドやライブラリです。ほとん どが Perl4 で記述されていますが、もはや 4.036 以外での動作確認 はやってないと考えて下さい。ただ、最近は日常的に Perl5 の処理 系を使っているので、Perl5 でも問題なく動作するはずですし、場合 によっては Perl4 で動かなくなる状況も無いとは限りません。

使用中のスクリプト

ramble | jcode.pl | mg | cdif | sdif | fold.pl | termfix | a2ps.pl | addrcomp | romkan.pl

以下のスクリプトは、作者が日常的に使っているため、新しい処 理系への対応や、様々な状況の変化への対応はなるべく行うようにし ているものです。

ramble
アーカイブファイルの汎用ブラウザ。お蔵入りになった tarfs の 改良版です。
jcode.pl
なんの拍子か、多くの人に利用されている日本語文字コード変換ラ イブラリ。
mg: multi-line grep
検索したいパターンが複数行に渡っていても探してくれるコマン ドで、複数単語からなる英文文字列や日本語の文字列を検索するとき に利用できます。他にも、圧縮されたりアーカイブされたファイルへ の対応、検索部分の強調表示、検索行の前後部分の表示、ディレクト リの再帰的な検索、等の様々な機能があります。
cdif: context diff
Unix の diff コマンドは、2つのファイルの行単位での違いを表 示してくれますが、その行の中のどの部分が変わっているのかはわか りません。また、単語が挿入や削除されて、前後の行に影響がある場 合、実際には変更していない部分も変更されたように表示されてしま います。cdif は、このような問題に対応するために、diff の出力の 変更された部分を強調表示するためのコマンドです。次の sdif コマ ンドと組み合わせて利用することができます。
sdif
System V の sdiff と、ほぼ同じ機能を提供するコマンド。足り ないのは、-o オプションが無いくらいで、他に多くの付加機能があ ります。
fold.pl
sdif コマンドの副産物。文字列を一定の長さで分割するための ライブラリです。substr を使うと、日本語文字列の場合、文字の途 中で切られてしまいますが、そこで代わりに使うことができます。
termfix
TERMCAP を一時的に変更するためのコマンド。
a2ps.pl
テキストを PostScript に変換するコマンド。a2ps という C で 書かれたコマンドがあって、それを Perl で書き直したものです。元々 自分だけで使うつもりで作ったのですが、日本語が扱えるせいなのか 広く使われているようです。でも、ちゃんとしたマニュアルが無いの です。ごめんなさい。
addrcomp
IP アドレスの aggregation を行うためのコマンド。
romkan.pl
ローマ字を仮名に変換するための Perl ライブラリ。

忘れ去られつつあるスクリプト

以下のスクリプトは、もはやほとんど使っていないため、動作確 認や新しい仕様への対応は行われていません。

ident_pl
ident プロトコルを使って、通信相手に関する情報を取得するた めのライブラリ。そもそも ident プロトコル自体が有効に働くケー スが少ないので、必要性はあまり感じられない。
fromto
sendmail のログを解析して、メールの送信者と受信者関係を表 示するコマンド。日常的に使ってはいるのだが、あまり新しい環境に 対応しようという努力はしていない。
tarfs
tar ファイルを直接アクセスするシェルに似た環境を提供するた めのコマンド。実は、これをはるかに汎用化したコマンドを途中まで 作ってあるのだが、仕上げる暇がなくて、数年間そのままになってい る。
taro
tar ファイルの内容を修正するフィルタ。ファイルの取捨選択や、 ファイル名の変更等ができる。最近はディスクが足りなくて展開でき ないということはないし、tar コマンドの機能も進化しているので、 あまり必要性がなくなった。
newsrc
ニュースの .newsrc をソートするためのコマンド。そもそもニュー スを読むことがほとんどないので、必要無くなってしまった。
tcp tools
rsh などが使えない環境でホストを介したパイプを実現するため のコマンド群です。必要なアプリケーションについては proxy が充 実してきているので、あまり必要ありません。この中の tcpreceive というコマンドを元にして、tcpr というコマンドを作って配布して いる人もいて、そちらの方が高機能です。

FAQ

よく訊かれる (かもしれない) 質問とその答