我有一个文件,其中有类似以下内容:
line1
line2
line3
line4
.endm
line5
line6
line7
line8
.endm
我希望将这个文件在.endm处分割,并将内容放入2个不同的数组中。输出将是:
@array1=(line1,line2,line3,line4);
@array2=(line4,line6,line7,line8);
我尝试使用
标签
。@array = split(".endm",my_file.txt);
print("Array1 = $array[1]\nArray2 = $array[2]\n);
但是这只会打印出最后一个 .endm 的行号。
我还尝试了类似以下的代码:
#! /usr/intel/bin/perl -w
use strict;
my $count=0;
open(my $fh, "<", "a.txt")|| die "can't open UTF-8 encoded filename: $!";
my @lines = <$fh>;
my @array;
LOOP: foreach my $line (@lines) {
chomp ($line);
$count = $count+1;
push (@array,$line);
if ($line =~ m/.endm/) {
pop (@array);
last LOOP;
}
}
print("Array : @array\n");
close $fh;
这段代码打印了
@array=(line1,line2,line3,line4);
。但我仍需要其他四行以便将其放入另一个数组。那么我该如何根据关键词拆分文件呢?