我正在尝试将数组中的前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文件?
答案 0 :(得分:1)
不是将所有内容都填充到一个数组中,然后在其大小达到250时打印数组内容,也许您可以简单地启动一个计数器并按照您的方式打印每一行(然后在达到250时退出)。有点像:
$cnt = 0;
while (<>) {
chomp;
print;
last if ++$cnt >= 250;
}
或者......你可以从命令行运行head -250 moloch_chunker_output.txt
(并完全跳过Perl)。