我正在尝试在每行中打印具有不同值的相同类型数据。之后将每个类型值与相应的名称(MMaaa/gg/dd)结合起来。
数据示例如下所示。以组 1 为例,名称格式为 MMxxxx/xxx/xxxx (MMaaa/gg/dd),类型值为 ID03。一组由水果(例如:apple)、水果名称(例如:MMbb/gggg/iii)和类型值(例如:ID02、ID04、ID05)或两种类型的水果和名称(例如:苹果和橙子)组成。
我想要的是苹果名称及其类型值的唯一组合。我试图打印组合以获得预期的结果但失败了。到目前为止,我已经尝试过:
while (@array = <FILE>) {
foreach $line (@array) {
if($line =~ m/apple\s{1}MM/) {
$a = $line;
if($line =~ m/(type)/) {
$b = $line;
}
}
print "\n$a/$b\n";
}
}
数据:
apple
apple MMaaa/gg/dd
type ID03_________________group 1
apple
apple MMsss/ff/dd
orange MMmm/ss
orange MMll/fff______________group 2
apple
apple MMbb/gggg/iii
type ID02
type ID04
type ID05_________________group 3
apple
apple MMhh/jj/lll
orange MMff/gg_______________group 4
apple
apple MMll/pp/ooo
type ID09
type ID03_________________group 5
..
..
.
.
预期结果:
aaa/gg/dd/ID03
bb/gggg/iii/ID02
bb/gggg/iii/ID04
bb/gggg/iii/ID05
ll/pp/ooo/ID09
ll/pp/ooo/ID03