perl檔案讀取的幾種處理方式小結_perl

來源:互聯網
上載者:User

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);
      }
  }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.