Starter: Zeile zurückspringen

Beitrag lesen

Hi zusammen,

ich hab folgende datei ( - = Leerzeichen):

------x
--------x
--------z
--------a
------1
--------1
--------2
------t
--------t
------4
--------4

Jedesmal wenn quasi 6 Leerzeichen kommen, dann
beginnt für mich ein neuer Abschnitt, denn ich bearbeiten will.

Ich hab das wie folt versucht:

#!/usr/bin/perl
use strict;

while(defined(my $i = <FILE>))
{
if ($i =~ /^\s{6}\w+/)
        {
        my $a=<FILE>;
        #print "1- $i \n";
        until ($a =~ /^\s{6}\w+/)
                {
                print "process $a";
                $a=<FILE>;
                }
        print "\n";
        }
}
close(FILE);

Problem ist jetzt natürlich, dass ich nur jeden zweiten Abschnitt erwische (also in dem Beispiel oben x und t, aber nicht 1 und 4),
da ich ja mit $a=<FILE> am Ende der until-Schleife den Filepointer eins vorgesetzt habe. Hat jemand eine Idee, wie ich den wieder zurücksetzten kann bzw. eine allgemein bessere Lösung für meine Aufgabe?

Danke.

ciao,
Starter