昨天我问了这个问题,得到了很多有用的回复,希望今天也是如此。这是我修改后的脚本。
#! /usr/bin/perl
use strict;
use warnings;
my $line;
my @array;
my $print;
open (OUT , ">","output.txt")or die "cant open: $!";
while ($line = <>){
chomp($line);
push(@array, $line);
if(@array == 250){
$print = print "[", join(",",@array), "]", "\n";
print OUT $print;
@array = []
}
}
最初我只是说我需要将数组的前 250 个元素打印到文本文件中,并且该数组是从标准输入构建的。我没有说的是构建数组的输入可能包含数千行。从该输入创建数组的原因是我可以将数组的大小限制为 250 个实体,然后将数组打印为格式化字符串。然后我需要刷新数组并在将成为输入的第 251 行的位置恢复构建,并继续对输入的其余部分执行此过程。假设输入是 5k 行,我希望我的输出是包含原始 5k 行输入的文本文件,但分为由 250 个数组实体组成的字符串。
目前脚本只是将数组打印到屏幕上,并且在“ouput.txt”内部是一行读取:1111111
.