Perl 教程 之 Perl 文件操作 2

简介: Perl 文件操作

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+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

目录
相关文章
|
算法 语音技术
遥遥领先!青否数字人直播系统支持真人接管实时驱动!
青否数字人SaaS系统5.0正式发布,王炸更新!提供口播视频批量制作+7*24小时直播全套解决方案。 同时直播间支持真人开麦/输入文字选择音色接管,实时驱动直播间数字人回复
|
Java
Java - JDK1.8 List 打印输出技巧
Java - JDK1.8 List 打印输出技巧
1990 0
|
网络协议 安全 Java
面试题:四次挥手
字节面试题:四次挥手
174 0
|
SQL 缓存 负载均衡
数据库读写分离同步延时问题怎么解决?
数据库读写分离是很多公司绕不过去的一个发展阶段,从单体数据库,到主备模式,再到读写分离,分库分表。每一个阶段都能为我们解决一些问题,但也带来了新的挑战。本篇文章我们就主要研究一下数据库读写分离及其带来的问题如何解决。
865 0
|
关系型数据库 MySQL
MySQL · RocksDB · Level Compact 分析
综述 在RocksDB中,将MemTable刷新到磁盘之后,将会有很多sstable,而这些sstable则是可能包含了相同的key的不同时间的值,这样子就会导致两个问题: 浪费磁盘空间 读取内容将会非常慢.
3348 0
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1094 152