Perl中读写文件的方法非常简单,可以使用open或sysopen函数来打开文件,linux下运行perl脚本只需 ./XX.pl 或 perl XX.pl。
读文件
open(文件句柄, "<文件名");或者 open(文件句柄, "文件名");
如:open (IN, "./test.txt");
while (<IN>) {
chomp; #去掉换行符(/n);
print $_; #perl将每一行赋给“$_”这样一个内置变量里。
}
close(IN);
写文件
open(文件句柄, ">文件名"); #覆盖原文件的内容。
open(文件句柄, ">>文件名"); #追加写入文件。
如:open (OUT, "./result.txt");
my $str = "I love Perl.";
print OUT "$str ";
close(OUT);
PS:在读写文件时,经常伴有对字符串的拆分,这时一个非常有用的函数是split函数,把字符串分割并将结果存入数组中,下面做简单介绍:
perl的split函数使用正则表达式,未特定则工作在$_上。
用法:@array = split (/<reg>/, $line);或@array = split(/<reg>/);
如:$str="Caine:Michael:Actor:14,LeafyDrive";
@array=split(/:/,$str); #@array=("Caine","Michael","Actor","14,LeafyDrive");
- //之间表示split用到的正则表达式(或分隔法则);
- s是一种常用的通配符,代表空格。
- +代表重复一次或者一次以上;
- 故s+代表一个或者一个以上的空格;
-
字符串比较用“eq” 和“ne”;
-
字符串连接用 “.” 。
- 截取字符串:my $substr1=substr("I love Perl",2,5);#截取第三个字符开始的5个字符,即“love ”;