将数组打印到文本文件(v2)

昨天我问了这个问题并得到了许多有用的答复,希望今天也是如此.这是我修改过的脚本.

#! /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.

解决方法

$print = print "[","\n";
print OUT $print;

在这里,您将打印的返回值分配给$print,即1,因为打印成功.你想要做的是:

print OUT "[","\n";

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...