File-MMagic/memo

Version 2 (modified by knok, 7 years ago)

--

メモ

リファクタリングの必要性

File::MMagicには、MagicMatch?()とMagicMatchStr()というほぼ同様の処理を行う 関数がある。コードのほとんどは同じだが、操作対象がファイルハンドルか、 スカラー変数に含まれる文字列かという点で異なっている。

対象が異なるだけで同じような処理を行うコードが重複しているのはバグの温床に なりやすく、これらを統一することが望まれる。

PerlのあるバージョンからIO::Stringが標準添付されているので、それを用いることが できればすべてをMagicMatch()に統一することができる。一方で、IO::Stringを 持たないバージョンのPerlがFile::MMagicの動作対象外になるという問題がある。

これについてどう折り合いをつけるかを考える必要がある。