我有一个类似的文件
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);
但我仍然需要其他 4 行,以便我可以将它放在不同的数组中
那么如何根据某个关键字来拆分文件呢?