Perl 文本文件的读写操作、文件的重命名和删除、多个文本文件的合并实现代码澳门金沙30064在线网站

By admin in 计算机教程 on 2019年7月21日

或者

方法二,使用open my $FILE的形式打开文件

读文件:

方法一,传递参数时,在句柄前面加*

#!perl
open filetxt,”/path/a.txt”;   # 
filetxt为文件句柄,用于和文件a.txt建立链接。文件句柄可任意取名,但不要和Perl自带的几个文件句柄重名。
print <filetxt>;                 # 
此处print函数用于显示文件a.txt的内容。<>为取行操作符,<文件句柄>用于读取所链接文件的内容。
close filetxt;                    # 
关闭文件句柄filetxt。另一种关闭的方法是将其与其它文件建立关联,如:open
filetxt,”b.txt”;如此则与原来文件a.txt的关联自动关闭。

删除文件

写文件:

#!/usr/bin/perl
use strict ;
use warnings ;
sub test{
    local $/ ; #??? local $/ = undef ;
    open FILE, ‘<‘, “d:/code/zdd.txt” or die $! ;
    my $slurp =  ;
    print $slurp, “n” ;
}
&test() ;

rename:将文件重命名

打开文件

#!perl
open TXT,”>>a.txt”;
print TXT “独自莫凭栏,无限江山,别时容易见时难。\n”;     # 
如果文件a.txt已存在,该行内容会被附加到已存在文件的后面
close TXT;

复制代码 代码如下:

复制代码 代码如下:

假设有一个函数test,它有一个参数,是某个文件句柄,那么该如何传递这个参数呢?

在Perl中,可以按照如下方式合并多个文本文件:

复制代码 代码如下:

复制代码 代码如下:

使用三参数的形式打开文件,这样非常便于区分模式和文件名,perl
5.6之后的版本都支持这种方式。

 文件的重命名和删除:

打开文件请用双引号

#!perl
open  a,”>a.txt”;
print a “四十年来家国,三千里地山河。”;
open  b,”>b.txt”;
print b “凤阁龙楼连霄汉,玉树琼枝作烟萝。”;
open  c,”>c.txt”;
print c “几曾识干戈?”;              # 分别建立文本文件
a.txt、b.txt和c.txt,并执行写入操作
close a;
close b;
close c;                                       #
关闭对应的文件句柄(filehandle)
open a,”>>a.txt”;
open b,  “b.txt”;
open c,  “c.txt”;                           # 重新建立文件关联,其中
a.txt 执行附加写入操作,其它两个文件执行读文件操作
print a “\n”.<b>.”\n”;                   # 利用 .
进行字符串的连接,此操作符必须
print a      <c>.”\n”;                     #
<filehandle>表示读取文件句柄所链接的文本文件的内容
close a;
close b;
close c;
[code]
或者
[code]
#!perl
open  a,”>a.txt”;
print a “四十年来家国,三千里地山河。\n”;
open  b,”>b.txt”;
print b “凤阁龙楼连霄汉,玉树琼枝作烟萝。\n”;       #
生成文件并写入内容时,即执行换行操作,让光标留在下一行
open  c,”>c.txt”;
print c “几曾识干戈?\n”;                               # 
分别建立文本文件 a.txt、b.txt和c.txt,并执行写入操作
close a;
close b;
close c;                                                          # 
关闭对应的文件句柄(filehandle)
open a,”>>a.txt”;
open b,  “b.txt”;
open c,  “c.txt”;                                              # 
重新建立文件关联,其中 a.txt
执行附加写入操作,其它两个文件执行读文件操作
print a <b>;                                                   
#  利用 . 进行字符串的连接,此操作符必须
print a <c>;                                                   
#  <filehandle>表示读取文件句柄所链接的文本文件的内容
close a;
close b;
close c;

您可能感兴趣的文章:

复制代码 代码如下:

perl用的最多的地方就算是文件处理了,下面我就总结了一下perl文件操作的一些东西,并且有具体的例子,通过下面的例子,加强我们对perl文件操作的理解。

多个文本文件的合并:

复制代码 代码如下:

unlink “b.txt”;
unlink “c.txt”;

使用unlinke函数,比如unlink $file, unlink $file1, $file2, $file3

复制代码 代码如下:

sub main {
    open my $FILE, ‘+<‘, ‘test.data’ or die $!;
    &test($FILE);
    close $FILE;
}

unlink <b.txt>;
unlink <c.txt>;

使用<>在标量环境下一次读入一行,而在列表环境下一次读入所有行,$/存储的是行分隔符,默认是换行符,我们先将$/改掉,这样就可
以在标量环境下一次读入所有行了(这时已经没有行的概念了,就是读入整个文件),你也可以用列表读入所有行然后再将所有行拼到一起,但那样速度很慢。用完记得将$/改回来。

如果想要在合并文本文件后删除文本文件 b.txt 和 c.txt
,可以在后面加上如下代码:

复制代码 代码如下:

#!perl
open filetxt,”<path/a.txt”; #  <
用于从文件中读取内容,但是不能写入任何内容到文件中。< 与
什么符号都不加 效果相同
while ($line=<filetxt>)
{
print $line;
)
close filetxt;

open文件时,如果文件名有变量替换,最好用双引号而不是单引号,因为单引号无视变量内插。

或者

sub main {
    open FILE, ‘+<‘, ‘test.data’ or die $!;
    &test(*FILE);
    close FILE;
}

复制代码 代码如下:

最好的方法是使用模块,这样比自己写安全,File::Slurp、IO::All都可以的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门金沙30064在线网站 版权所有