Hallo,
ich habe folgende Datei gegeben:
more (1.8kb)
Der obige Block kann innerhalb der Datei mehrmals in abgewandelter Form vorkommen.
Mir geht es darum, immer einen solchen Block aus der Datei zu extrahieren und in einer eigenen Sub dann weiter zu verarbeiten.
ich habe jetzt folgenden Ansatz gewählt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub processSrcFile {
my $robot = shift;
my @src = @_;
my @tmp = ();
my $foldCounter = 0;
foreach my $line (@src) {
if ($line =~ /^\s*;\s*FOLD\s+[PTP|K?LIN|K?CIRC]/i) {
@tmp = ();
$foldCounter = 1;
}
if ($line =~ /^\s*;\s*FOLD\s+[\d+|{H}]/i) {
$foldCounter++;
}
if ($line =~ /^\s*;\s*ENDFOLD/i) {
$foldCounter--;
if ($foldCounter == 0) {
}
}
push @tmp, $line;
}
}
Obiger Code funktioniert soweit.
Aber ginge das nicht eleganter? Evtl. mit Flip-Flop-Operator.
$q =~ /(bb|[^b]{2})/