从第二行读取文件直到perl结束

时间:2014-03-03 10:16:44

标签: perl

我的文件有很多行。我想丢掉第一线和 试图从第二行读取文件直到结束但没有得到足够的谷歌帮助。 在这种情况下请帮帮我。

下面是我试图提取csv文件的第4列和第5列的代码,但它包括第一行也是标题,我不想要。

我的代码应该只获取值而不是标题。从第二行开始。

foreach my $inputfile (glob("$previous_path/*Analysis*.txt")) {
open(INFILE, $inputfile) or die("Could not open  file.");
foreach my $line (<INFILE>){
my @values = split(',', $line); # parse the file
my $previous_result = $values[5];
my $previous_time = $values[4];
print $previous_result,"\n";
print $previous_time,"\n";
push (@previous_result, $previous_result);
push (@previous_time, $previous_time);
    }
close(INFILE);
}

3 个答案:

答案 0 :(得分:4)

跳过第一行,然后阅读其余部分。

<>;                # read and discard a line
while (<>) {       # loop over the other lines
    print $_
}

更新:在你edited the question之后,事实证明你想要一些完全不同的东西,

在Perl中读取CSV文件

这是一个完全不同的问题,你应该首先要求的是什么。答案是使用已建立的库,如CSV::Slurp

答案 1 :(得分:2)

只需使用$.跳过行号(next)1,就像这样:

while (<>) {
    next if ($. == 1);
    print $_;
}

Live demo.

答案 2 :(得分:-2)

你可以在阅读文件时跳过第一行

离。

open(IN,"cat filename|tail -n +2|") || die "can not open file :$!";
while(<IN>){
     //process further
}
close(IN);