Perl sysopen 函数

描述

此函数等效于底层 C 和操作系统调用 open()。 打开由 FILENAME 指定的文件,将其与 FILEHANDLE 关联。 MODE 参数指定应如何打开文件。 MODE 的值取决于系统,但有些值是历史设置的。 值 0、1 和 2 分别表示只读、只写和读/写。 支持的值在 Fcntl 模块中可用,并总结在下表中。

注意 FILENAME 严格来说是一个文件名; 不解释内容(与打开不同),打开模式由 MODE 参数定义。

如果必须创建文件,并且在 MODE 中指定了 O_CREAT 标志,则使用 PERMS 权限创建文件。 PERMS 的值必须以传统的 Unix 样式的十六进制指定。 如果没有指定 PERMS,那么 Perl 使用默认模式 0666(在用户/组/其他上读/写)。

Flag		Description
O_RDONLY 	Read only.
O_WRONLY 	Write only.
O_RDWR 		Read and write.
O_CREAT		Create the file if it doesn.t already exist.
O_EXCL 		Fail if the file already exists.
O_APPEND 	Append to an existing file.
O_TRUNC 	Truncate the file before opening.
O_NONBLOCK 	Non-blocking mode.
O_NDELAY 	Equivalent of O_NONBLOCK.
O_EXLOCK 	Lock using flock and LOCK_EX.
O_SHLOCK 	Lock using flock and LOCK_SH.
O_DIRECTOPRY 	Fail if the file is not a directory.
O_NOFOLLOW 	Fail if the last path component is a symbolic link.
O_BINARY 	Open in binary mode (implies a call to binmode).
O_LARGEFILE 	Open with large (>2GB) file support.
O_SYNC 		Write data physically to the disk, instead of 
		write buffer.
O_NOCTTY 	Don't make the terminal file being opened 
	 	the processescontrolling terminal, even if you 
	 	don.t have one yet.

语法

以下是此函数的简单语法 −

sysopen FILEHANDLE, FILENAME, MODE, PERMS

sysopen FILEHANDLE, FILENAME, MODE

返回值

此函数在失败时返回 0,在成功时返回 1。

❮ Perl 函数参考