ホーム > perl > ファイルPATHを覚えているfhを作成できるIO::File::WithPathをリリース

ファイルPATHを覚えているfhを作成できるIO::File::WithPathをリリース

  • 投稿者: chiba
  • 2009/10/7 水曜日 1:49:30
  • perl

Plackのsendfileサポート関連を追いかけてて、Plack::Server::Apache2でsendfileサポートされてない理由がfhからファイル名を取るベストな方法がないというわけで、gist: 200797みたいなパッチを書いて#http-engineとかに張り付けたけどそれlinuxでしか動かないよねみたいなことで日本の恥を晒してしまったりしてたわけですが、その中でIO::File::WithPathみたいなのがあればいいよねと話がでていたので作ってみました。

CPANとgithubにあげてあります。

使い方はこんな感じ。

    my $fh = IO::File::WithPath->new('/path/to/file');
    print $fh->path; # /path/to/fileがとれるよ
    print $fh->getline; # IO::Handleとしても扱える
    print <$fh>; # もちろんGLOBとしても

Plackのappでは

    return ['200', [], IO::File::WithPath->new('/path/to/file')];

みたいな使い方を想定していますが、Plack::Server側はこのモジュールを使うことが前提というわけではなくて、duck typingで->pathがあるオブジェクトであればそのpathを(使える条件であれば)使うようになる予定だと思います。

あと、純粋なfhからpathを取るマルチプラットフォーム対応なモジュールもできれば欲しいよねというところ。windowsはかなり無理っぽい。

はてなブックマーク - ファイルPATHを覚えているfhを作成できるIO::File::WithPathをリリース

コメント:0

トラックバック:0

ホーム > perl > ファイルPATHを覚えているfhを作成できるIO::File::WithPathをリリース

フィード
メタ情報

ページの上部に戻る