What about doing it this way.
Currently it skips any line containing the string "{T}". And if the following line consists of a single alphanumeric, that line is skipped as well.
#! /usr/bin/perl
use strict;
use warnings;
my $flag_match;
LINE: while ( my $line = <DATA> ) {
if ( $line =~ m/{T}/ ) {
$flag_match = 1;
next LINE;
}
else {
if ( $line =~ m/^\w$/ && $flag_match ) {
$flag_match = 0;
next LINE;
}
}
print $line;
}
__DATA__
020209990421VUTVS01 00082445B3^V^V^A2^C^D^V^V^A os00 0001 000101 R S 9
+912290449 00005941^B{T}
R
Saturday, January 1, 2000
G1
G
^C^D^V^V^A os00 0002 000101 R S 9912290451 00004113^B{T}
R
G8
Gardening<
January garden calendar
B
C