将数组打印到.txt文件

时间:2013-11-04 19:20:05

标签: arrays perl printing

我正在尝试将数组中的前250个条目打印到.txt文件,但我遇到了一些麻烦。当我按原样运行脚本时,我的output.txt文件中没有任何内容。

    #! /usr/bin/perl
use strict;
use warnings;

my $line;
my @array;
my $file = "moloch_chunker_output.txt";

open (OUT , ">","moloch_chunker_output.txt")or die "cant open: $!";
while ($line  = <>){
        chomp($line);
        push(@array, $line);
        if(@array == 250){
                print OUT @array;
}
}

我知道我在这里失踪了很多,但我在if语句之后尝试了其他几种方法。

if(array == 250){
         print "[", join(",",@array),"]","\n";

正是我想要的。我只是想将它写入.txt文件而不是简单地打印到屏幕上。如何将数组打印到.txt文件?

1 个答案:

答案 0 :(得分:1)

不是将所有内容都填充到一个数组中,然后在其大小达到250时打印数组内容,也许您可​​以简单地启动一个计数器并按照您的方式打印每一行(然后在达到250时退出)。有点像:

$cnt = 0;
while (<>) {
    chomp;
    print;
    last if ++$cnt >= 250;
}

或者......你可以从命令行运行head -250 moloch_chunker_output.txt(并完全跳过Perl)。