perl文件读取的几种处理方式小结

712 查看

1、单行(大文件处理):

复制代码 代码如下:

my $oneline = <$FL> 或
while($line=<H>)
{ }

2、读取全部(小文件处理):

复制代码 代码如下:

open (my $in, "path ") or die "open error: $! ";
my @lines = <$in> ;

3、读3行(大文件及特殊处理需要):

复制代码 代码如下:

open (my $in, "path ") or die "open error: $! ";
my @lines;
push (@lines, scalar <$in> ) for (1..3);

4、每次按条件读入三行,并且按照条件输出两行。或根据其他具体要求修改达到相应目的。

复制代码 代码如下:

while (<TEST>) {
    if(index ($_, "=") > -1){
       my $position=tell(TEST);
       my $keyword_line=$_;
       my $line_1=<TEST>;
       my $line_2=<TEST>;
    # @a=split//,$keyword_line;  比较它们的元素是否相等,一直没成功
    # @b=split//,$line_1;         利用if ($a[0]eq $a[0])来判断
    # @c=split//,$line_2;
         if (($line_2)&&(index($line_2, "=")>-1)){ # 或者if ($line_2=~/=/)
            print OUTFILE "$_$line_1";
          }
    if (!($line_2)) { print OUTFILE "$_$line_1"; last; }
    seek(TEST, $position, 0);
      }
  }