PERL 文本处理

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 "$filename\n";
  die "The file does not exits\n";
 }

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

 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 "@logitem\n";
 close(logfile); 
}


#模块结束标志
1;

 

 

 

 

 

 

use FileOperate;

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

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

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

print @FileContent;

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

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

 

你可能感兴趣的:(return,File,package)