Cache::FileCache の purge と Purge

Cache::FileCache を使っていて、期限切れキャッシュのファイルが削除されなくてはまりました。

この記事 を参考にして Purge() していたのですが、どうやら Cache::FileCache には purge と Purge があるようなのです。上の記事のコメントを見て知りました。

で、この二つはどう違うのか、ソースをざっくりと見てみたのですが、

Purge() は、呼び出し元のオブジェクトの指定に関わりなく、引数に指定したディレクトリ以下のすべてのファイルについて、期限切れファイルを削除するようです。なので、$cache->Purge( '/path/to/cache_root' ); あるいは、Cache::FileCache::Purge( '/path/to/cache_root' ); という風に実行する必要があるのですね。

purge() は、呼び出し元のオブジェクトに指定したディレクトリ・namespace の期限切れファイルを削除してくれます。

ので、上の記事ではやはり、purge() を使うのが正しそうですね。

それにしても、このインタフェースはどうかと思いますね・・・。Cache::CacheのPOD にある説明もどうかと・・・。