В соответствии с тем, что я получаю, вы хотите создать запись, имеющую в качестве идентификатора значение AC и заканчивающуюся строкой //.
Следующий скрипт получит все идентификаторы T ** и создаст хеш-значение для каждого из них.
Последняя строка позволяет подсчитать, сколько записей в этом хэше.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @lines;
my %hash;
my $opId;
open my $input_fh, "<", 'so.input';
chomp(@lines = <$input_fh>);
close $input_fh;
foreach (@lines) {
if (/(?<ctrl>.{2})(\s+)(?<value>.*)/) {
if ($+{ctrl} eq 'AC') {
$opId = $+{value};
}
$hash{$opId}{$+{ctrl}} .= $+{value};
}
}
my @records = keys %hash;
print Dumper(%hash);
print @records . " records had been found on this file\n";
Надеюсь, это было то, что вы спросили,