Perl 教程 之 Perl 文件操作 2
Perl 文件操作
Perl 使用一种叫做文件句柄类型的变量来操作文件。
从文件读取或者写入数据需要使用文件句柄。
文件句柄(file handle)是一个 I/O 连接的名称。
Perl 提供了三种文件句柄: STDIN,STDOUT,STDERR, 分别代表标准输入、标准输出和标准出错输出。
Perl 中打开文件可以使用以下方式:
open FILEHANDLE, EXPR
open FILEHANDLE
sysopen FILEHANDLE, FILENAME, MODE, PERMS
sysopen FILEHANDLE, FILENAME, MODE
参数说明:
FILEHANDLE:文件句柄,用于存放一个文件唯一标识符。
EXPR:文件名及文件访问类型组成的表达式。
MODE:文件访问类型。
PERMS:访问权限位(permission bits)。
open 函数
以下代码我们使用 open 函数以只读的方式 < 打开文件 file.txt:
open(DATA, "<file.txt");
< 表示只读方式。
代码中的 DATA 为文件句柄用于读取文件,以下实例将打开文件并将文件内容输出:
实例
!/usr/bin/perl
open(DATA, "<file.txt") or die "file.txt 文件无法打开, $!";
while(){
print "$_";
}
以下代码以写入 >的方式打开文件 file.txt:
open(DATA, ">file.txt") or die "file.txt 文件无法打开, $!";
表示写入方式。
如果你需要以读写方式打开文件,可以在 > 或 < 字符前添加 + 号:
open(DATA, "+<file.txt"); or die "file.txt 文件无法打开, $!";
这种方式不会删除文件原来的内容,如果要删除,格式如下所示:
open DATA, "+>file.txt" or die "file.txt 文件无法打开, $!";
如果要向文件中追加数据,则在追加数据之前,只需要以追加方式打开文件即可:
open(DATA,">>file.txt") || die "file.txt 文件无法打开, $!";
表示向现有文件的尾部追加数据,如果需要读取要追加的文件内容可以添加 + 号:
open(DATA,"+>>file.txt") || die "file.txt 文件无法打开, $!";
下表列出了不同的访问模式:
模式 描述
< 或 r 只读方式打开,将文件指针指向文件头。
或 w 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
或 a 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
+< 或 r+ 读写方式打开,将文件指针指向文件头。
+> 或 w+ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
+>> 或 a+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。