原文地址:http://www.linuxforums.org/programming/learn_perl_in_10_easy_lessons__lesson_3.html
文件处理
Perl语言旨在让文件处理变更简单、高效。
打开和关闭文件
用“open”命令打开文件,它需要两个参数:文件柄和文件自己的名称。文件柄是一个变量,它是在脚本内处理文件的表示。例如,下面的代码将打开“clients.txt”文件,其文件柄是CLIENTS:
open (CLIENTS, "clients.txt");
默认情况下,文件以只读模式打开。也可以以可写模式打开文件。如果文件已经存在或已经写入数据,则数据将丢失。以可写模式打开文件只需要在文件名前加“>”符号:
open (CLIENTS, ">clients.txt");
如果希望保留文件中的数据,则可以以追加模式打开文件。这样,文件原来的数据得以保留,而您写入的数据将追加到文件中。具体方法是在文件名前加“>>”符号:
open (CLIENTS, ">>clients.txt");
open命令在打开成功时返回真,反之返回假。可以使用引值测试操作成功与否。例如,下面的代码以可写方式打开文件,并在失败时返回“Insufficientprivileges”。
open (CLIENTS, ">clients.txt") or print "Insufficientprivileges\n";
切记处理完文件时一定要关闭文件,不闭关文件,则更改将会丢失。要关闭文件,只需在文件柄上使用“close”命令。
close (CLIENTS);
向文件写入数据
下面的代码将“Mr John Doe”写入到“clients.txt”文件的结尾:
open (CLIENTS, ">>clients.txt") or die "Insufficientprivileges\n";
print CLIENTS "Mr John Doe\n";
close (CLIENTS);
从文件读取数据
有许多方法可以从文件读取数据,下面是两种最常用的方法。
一、将文件内容复制到数组中
可以将文件的所有内容复制到数组中。每一行对应数组中的一个元素,如:
open(CLIENTS, "clients.txt");
@lines = <CLIENTS>;
close(CLIENTS);
print @lines;
二、通过文件柄进行循环
使用while语句进行循环($line = ),例如clients文件中有许多行,将当前行分配给$line:
open (CLIENTS, "clients.txt");
while ($line = <CLIENTS> ) {
print $line;
}
close (CLIENTS);
可见,使用Perl处理文件非常方便。下一课将学习如何搜索文件中的特定元素以及如何处理字符串。
分享到:
相关推荐
windows环境的perl安装包,不用去官网下载了,测试好用。 strawberry-perl-5.32.1.1-64bit.msi离线安装包(官方),可避免从官网下载速度慢的问题。 windows环境的perl安装包,不用去官网下载了,测试好用。 ...
windows环境的perl安装包,不用去官网下载了,测试好用。 strawberry-perl-5.32.1.1-32bit.msi离线安装包(官方),可避免从官网下载速度慢的问题。 windows环境的perl安装包,不用去官网下载了,测试好用。 ...
刚刚下载的strawberry-perl-5.32.1.1-64bit 用于64位系统Perl 希望对你有用
perl-MailTools-1.53-1.noarch.rpm
RHEL 7.1安装MySQL 5.6的依赖包:perl-Data-Dumper-2.145-3.el7.x86_64.rpm ------------------------------------------------------------------------------------
装mysql时提示少perl,安装perl需要依赖包。已包含下面所有包, 版本号匹配。 [Linux]centOS7下RPM安装Perl 下载rpm依赖包,依照顺序安装. perl-parent-0.225-244.el7.noarch perl-...
perl-DBI-1.52-2.el5.i386.rpm
strawberry-perl-5.32.1.1-32bit
strawberry-perl-5.32.1.1-64bit安装包 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者交流使用,请于下载24小时内删除
perl-XML-DOM-1.44-7.el6.noarch.rpm perl-XML-DOM-1.44-7.el6.noarch.rpm
perl-Text-Iconv-1.7-2.el5.i386
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
perl-HTTP-Server-Simple,perl的扩展包,perl的扩展包
perl-WWW-Curl4.17版本rpm包
perl-DBD-MySQL-4.013-3.el6.x86_64.rpm
perl安装包 openssl源码
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
解决Mysql在linuxCentos下缺失依赖包 perl-libs-5.10.1-141.el6_7.1.x86_64.rpm
解决MySQL在linux下缺少依赖 perl-Pod-Simple-3.13-141.el6_7.1.x86_64.rpm