sysopen
sysopen FILEHANDLE, FILENAME, MODE
sysopen FILEHANDLE, FILENAME, MODE, PERMS
FILENAMEで指定されたファイルをオープンし、FILEHANDLEを結びつけます。
MODEでファイルオープンのモードを指定します。Fcntlに後述の値が定義されています。
PERMSはパーミッションです。省略時は0666になります。
MODE | 説明 |
---|---|
O_RDONLY | 読み取り専用 |
O_WRONLY | 書き込み専用 |
O_RDWR | 読み書き用 |
O_CREAT | ファイルが存在しない場合に作成する |
O_EXCL | ファイルが存在する場合にエラーにする |
O_APPEND | 追記書き込み |
O_TRUNC | 上書き |
O_NONBLOCK | 非ブロック方式のアクセス |
open | sysopen |
---|---|
open(my $fh, "<", $filename); | sysopen(my $fh, $filename, O_RDONLY); |
open(my $fh, ">", $filename); | sysopen(my $fh, $filename, O_WRONLY | O_TRUNC | O_CREAT); |
open(my $fh, ">>", $filename); | sysopen(my $fh, $filename, O_WRONLY | O_APPEND | O_CREAT); |
サンプルプログラム
use Fcntl; my $filename = "test.txt"; sysopen(my $fh, $filename, O_WRONLY | O_TRUNC | O_CREAT) or die $!; print $fh "sysopen test.\n"; close $fh;
関連項目
・close関数・open関数