Perl sysopen 函数



描述

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

请注意,FILENAME 严格来说是一个文件名;不会对内容进行任何解释(与 open 不同),并且打开模式由 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_function_references.htm
广告