一般用 open 来读写文件,当有处理不了的情况,再考虑 sysopen
读文件:
open FH1, "
while(){
#可对读入文件的每行处理
...
}
在标量环境下
$one = ; #此时$one里面保存了文件的一行纪录
#可对读入文件的每行处理
...
}
在标量环境下
$one = ; #此时$one里面保存了文件的一行纪录
可通过取消 $/ 的定义将所有纪录一次性读入:
{
local $/;
$all_in_one = ; #此时$all_in_one里面保存了文件的所有纪录
}
{
local $/;
$all_in_one = ; #此时$all_in_one里面保存了文件的所有纪录
}
可对该变量分割,将每行纪录分离出来:
@all = split "\n", $all_in_one; #此时@all里面保存了文件的每行纪录
@all = split "\n", $all_in_one; #此时@all里面保存了文件的每行纪录
在列表环境下
@all = ; #此时将文件里的所有纪录行都保存在列表@all中;
$all_in_one = join("", @all); #此时所有纪录串联起来保存在$all_in_one中以便处理
写文件:
open FH2, ">", "filename" or die "can't creat file: $!\n"; #创建写
open FH2, ">", "filename" or die "can't creat file: $!\n"; #创建写
open FH3, ">>", "filename" or die "can't write file: $!\n"; #追加写
print FH2 "something\n"; #将纪录写入文件中
print "something\n"; #缺省时输出到控制台STDOUT( = print STDOUT "somethin\n";)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/677997/viewspace-664895/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/677997/viewspace-664895/