PerlIO::Util::JA - PerlIOに関する汎用ユーティリティ集
This document describes PerlIO::Util version 0.72
use PerlIO::Util; # utility layers open $in, '+<:flock', $file; # with flock(IN, LOCK_EX) open $in, '+<:creat :excl', $file; # with O_CREAT | O_EXCL open $out, '>:tee', $file, \$scalar, \*STDERR; print $out "foo"; # print to $file, $scalar and *STDERR # utility routines $in = PerlIO::Util->open('<', $file); # it dies on fail *STDOUT->push_layer(scalar => \$scalar); # it dies on fail print "foo"; print *STDOUT->pop_layer(); # => scalar print $scalar; # => foo
PerlIO::UtilはPerlIOに関するユーティリティレイヤとユーティリティメソッドを 提供するモジュールである。
PerlIO::Util
ユーティリティレイヤはPerlIO::Utilの一部だが,使用に際してuse PerlIO::Util と書く必要はない。PerlIOは必要に応じてレイヤを自動的にロードする。
use PerlIO::Util
flock()に対する簡易なインターフェイスを提供する。
flock()
See PerlIO::flock.
Fcntlを用いずに,O_CREATを使用する。
Fcntl
See PerlIO::creat.
Fcntlを用いずに,O_EXCLを使用する。
See PerlIO::excl.
複数のファイルやストリームに同時に出力する。
See PerlIO::tee.
PerlIOインターフェイスでディレクトリを読む。
ディレクトリハンドルをファイルハンドルとして扱うため, :encodeingなどのPerlIOレイヤを適用できる。
:encodeing
See PerlIO::dir.
ファイルを逆順に読む。
一旦全て読み込んでからreverse()するより高速だが, コンソールやパイプなどのseek()できないストリームは扱えない。
reverse()
seek()
See PerlIO::reverse.
ファイルシステムエンコーディングを扱う。
与えられたファイル名がPerlのユニコード文字列であるとき, Encodeモジュールを使ってファイルシステムのエンコーディングに変換する。 なお,Windows以外では自動的にファイルシステムのエンコーディングを取得するが, それ以外の環境では環境変数PERLIO_FSEで指定するか,use PerlIO::fseの引数としてエンコーディングを指定する必要がある。
Encode
use PerlIO::fse
なお,このレイヤーは0.70で独立したモジュールとなった。
See PerlIO::fse.
ビルトイン関数のopen()を呼び出し,IO::Handleオブジェクトを返す。 open()に失敗すると致命的エラーとなる。
open()
IO::Handle
Perlのopen()と異なり(またIO::Fileのnew()とも異なり),modeは 常に必須である。つまり,基本的にはIO::Fileのnew()の代替として使用できるが,常に3-arg openを強要し,失敗すると致命的エラーとなる点でIO::Fileのnew()と異なる。
IO::File
new()
定義済みのPerlIOレイヤの名前を返す。
FILEHANDLEのPerlIOレイヤの名前を返す。 これはPerlIO::get_layers(FILEHANDLE)の別名である。
See "Querying the layers of filehandles" in PerlIO.
binmode(FILEHANDLE, ':layer(arg)')とほぼ同じだが,argはどんな データ型でもよい。たとえば,:scalarに対してスカラリファレンスを与えることができる。
binmode(FILEHANDLE, ':layer(arg)')
:scalar
このメソッドは失敗すると致命的エラーとなる。成功したときはFILEHANDLEを返す。
binmode(FILEHANDLE, ':pop')に等しい。これはFILEHANDLEの最上部の レイヤを取り除く。なお,:utf8や:flockのようなダミーレイヤを取り除くことはできない。
binmode(FILEHANDLE, ':pop')
:utf8
:flock
このメソッドは実際に取り除いたレイヤの名前を返す。
Perl 5.8.1 or later, and a C compiler.
No bugs have been reported.
Please report any bugs or feature requests to <gfuji (at) cpan.org>, or through the web interface at http://rt.cpan.org/.
PerlIO::flock, PerlIO::creat, PerlIO::excl, PerlIO::tee, PerlIO::dir, PerlIO::reverse, PerlIO::fse.
PerlIO for push_layer() and pop_layer().
push_layer()
pop_layer()
perliol for implementation details.
"open" in perlfunc.
perlopentut.
Goro Fuji (藤 吾郎) <gfuji(at)cpan.org>.
Copyright (c) 2008-2010, Goro Fuji <gfuji(at)cpan.org>. Some rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install PerlIO::Util, copy and paste the appropriate command in to your terminal.
cpanm
cpanm PerlIO::Util
CPAN shell
perl -MCPAN -e shell install PerlIO::Util
For more information on module installation, please visit the detailed CPAN module installation guide.