`
suli
  • 浏览: 44384 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

学习Perl的 10 个简单课程 -第三课

阅读更多

原文地址: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处理文件非常方便。下一课将学习如何搜索文件中的特定元素以及如何处理字符串。

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics