【发布时间】:2023-03-23 18:59:01
【问题描述】:
我有一个关于将数组保存在另一个数组中的 perl 查询。之前有人问过一个相关问题(How do I add an array ref to the middle of an existing array in Perl?),但我找不到我的答案,所以我在这里发布。
我有 10 个文本文件,每个文件大约有 100 行文本。我想选择所有包含“重要”一词的行。执行此操作的脚本如下。我将所有包含单词“important”的行保存在一个数组中。所以,从每个文本文件中,我得到一个数组。我想将所有这些数组保存在另一个数组中?
my @list_of_files = ("input1.txt", "input2.txt","input3.txt"); my $list_of_files = @list_of_files;
for ($file=0, $file<$list_of_files; $files++){
open INPUT_FILE, "$list_of_files[$file]" or die "can't open $file : $!";
my @input = <INPUT_FILE>;
my $size = @input;
for ($num=0; $num<$size; $num++){
if ($input[$num] =~ m/important/) {
push (@sub_array, $output);
}
}
close INPUT_FILE;
push (@main_array, \@sub_array);
}
@sub_array 的元素每次都会改变,那么,如何保留所有 sub_arrays 的元素?我希望最终输出为@main_array,其中包含3个元素,每个元素都是一个元素数组(包含“重要”一词的行)
非常感谢 TIA 的任何帮助
【问题讨论】:
-
总是在 Perl 文件的开头添加
use strict;和use warnings;。
标签: perl