加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

PERL 文本处理

发布时间:2020-12-16 00:11:14 所属栏目:大数据 来源:网络整理
导读:package?FileOperate; sub?new { ?my?$class?=?shift; ?#一个空的引用 ?my?$ref?=?{}; ?#将引用和对象绑定 ?bless($ref,$class); ?#返回引用 ?return?$ref;? } #获取一个目录下的所有文件名字 sub?ListFile{ ?????????my?$ref?=?shift; ????????my?$dir?=?sh

package?FileOperate;

sub?new
{
?my?$class?=?shift;
?#一个空的引用
?my?$ref?=?{};
?#将引用和对象绑定
?bless($ref,$class);

?#返回引用
?return?$ref;?
}

#获取一个目录下的所有文件名字
sub?ListFile{
?????????my?$ref?=?shift;
????????my?$dir?=?shift?@_;
??my?@FileName;
????????opendir?DH,?$dir;
????????foreach?my?$file?(readdir?DH)
??{
????????????????next?if?$file?eq?"."?or?$file?eq?"..";
????????????????$file?=?"$dir/$file";
????????????????if(-d?$file)
????{
????????????????????????&ListFile($file);
????????????????}
????????????????else
????{
???????push?@FileName?,$file;?
????????????????}
????????}
????????return?@FileName;
}

#获取文件的内容写入容器
sub?GetFileContent
{
????my?$ref?=?shift;
?my?$filename?=??shift?@_;
?#测试文件是否存在
?if(?!?-e?$filename)
?{
?????print?"$filenamen";
??die?"The?file?does?not?exitsn";
?}

?#测试文本是否可以读取
?if(!?open?readFile,?$filename)
?{
??die?"Can?not?open?filen";
?}

?my?@SearchFile;
?while(<readFile>)
?{
??push?@SearchFile,$_;?
?}
?close?readFile;
?@SearchFile;
}

#将容器的内容写入文件
sub?WriteFileContent
{?
????my?$ref?=?shift;
????my?($FileName,@logitem?)?=??@_;
?my?$tm;
?open(logfile,">$FileName")||die?"can't?open?file?$&?!";
?print?logfile?"@logitemn";
?close(logfile);?
}


#模块结束标志
1;

?

?

?

?

?

?

use?FileOperate;

#获取对象实例
my?$FileOperate?=?FileOperate->new();

my?$FilePath?=?"C:Documents?and?SettingsAdministrator桌面PrelTest保存的模块文本处理";
#获取文件夹下所有内容
my?@FileContent;

@FileContent?=?FileOperate->ListFile($FilePath);

print?@FileContent;

#读取文本内容
my?$TextPath?=?"C:Documents?and?SettingsAdministrator桌面PrelTest保存的模块文本处理read.txt";
my?@FileContent?=?FileOperate->GetFileContent($TextPath?);
print?@FileContent;

#写入文本测试
my?$WriteFilePath?=?"C:Documents?and?SettingsAdministrator桌面PrelTest保存的模块文本处理write.txt";FileOperate->WriteFileContent($WriteFilePath,@FileContent);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读