Perl初级教程 - 第二天


 

 

 

 

 

第二页:文件处理

下面是一个简单的perl程序,与UNIX中cat命令对某个文件的操作相同。

#!/usr/local/bin/perl
#
# Program to open the password file, read it in,
# print it, and close it again.

$file = '/etc/passwd';		# Name the file
open(INFO, $file);		# Open the file
@lines = <INFO>;		# Read it into an array
close(INFO);			# Close the file
print @lines;			# Print the array

open函数打开一个文件并进行读操作。第一个参数filehandle是指向文件的句柄。第二个参数为被打开的文件的文件名。如果文件名以被引号包围的形式给出,那么它只被从字面意义上引用,而没有shell解释。

因此表达式'~/notes/todolist'不会被成功地翻译。如果希望得到shell解释,可以使用尖括号:即使用<~/notes/todolist>。

close函数告诉Perl关闭被打开的文件。

open语句也可以对文件进行输出和附加操作。可以在文件名前加>进行输出操作,用>>进行附加操作:

open(INFO, $file);	# Open for input
open(INFO, ">$file");	# Open for output
open(INFO, ">>$file");	# Open for appending
open(INFO, "<$file");	# Also open for input

如果想在一个已经打开的文件中打印信息,可以用带参数的打印语句。把一个字符串打印到一个用INFO句柄打开的文件中可以使用

print INFO "This line goes to the file.\n";

可以用下面的语句打开标准输入(通常为键盘)和标准输出(通常为屏幕):

open(INFO, '-');	# Open standard input
open(INFO, '>-');	# Open standard output

在上面的程序中从一个文件中读取信息。这个文件是INFO,Perl用尖括号对它进行读操作。因此语句

@lines=<INFO>;

把文件中的所有信息读入数组@lines中。如果用标量$lines,则只读第一行。在这两种情况下,每行都以换行符结束。>>

Perl初级教程
第一页 数组变量
第二页 文件处理
第三页 控制结构

[第1天][第2天][第3天][第4天]

 



本文根据 网猴 相关文章改编,版权归原作者所有。