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関数
