我有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个元素,每个元素都是一个元素数组(包含单词“important”的行)
任何帮助都非常感谢TIA
解决方法 我会对bvr略有不同.但他的观点仍然有效.# use qw() to define line with less punctuationmy @List_of_files = qw(input1.txt input2.txt input3.txt);my @lines_in_file;foreach my $file (@List_of_files) { open(my $in,'<',$file) or dIE "can't open $file : $!"; # declare an array,not a scalar my @lines; # idiomatic use of while(<>) puts each record into $_ while (<$in>) { # /../ works on $_ by default. # Postfix condition is more readable push @lines,$_ if /important/; } # Take reference to array and push it onto main array push @lines_in_file,\@lines;}总结
以上是内存溢出为你收集整理的perl – 如何在另一个数组中存储变量数组?全部内容,希望文章能够帮你解决perl – 如何在另一个数组中存储变量数组?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)