UNItopia News: Brett Computer, Gruppe Allgemeines, Artikel 1765

-------------------------------------------------------------------------------
Titel: Re: Noch eine Perl-Frage
Artikel: 1765                                          Bezug: 1764
Verfasser: Garamon                                     Datum: 11.08.05 14:49:13
-------------------------------------------------------------------------------
Naja, beim Parsen ist immer der Knackpunkt, dass du alle positiven
Faelle erfasst hast und sie eindeutig von allen negativen Faellen
trennen kannst.

In deinem Fall scheint es so, als ob z.B. Whitespaces und Newlines keine
relevante Bedeutung haben. Du kannst also folgendes machen:

if (/include/i) {
   if ($_ !~ m#/#) { # oder eine andere Regel, woran du erkennst, das
                     # bereits ein Pfad "da" ist
       $_ .= <>;
   }
   s/[\s\n]+/ /g;    # Mehrfache Whitespaces durch Spaces ersetzen
   m/include[ :=("]*([^ :=("]+)/; # [ :=("] ist die Menge der Nicht-Pfad-Chars
   my $path = $1;
   # $1 ist das, was du mit den ganzen Pfad-Zeichen gefangen hast
}

Das ist zwar etwas weg von deiner urspruenglichen Frage, hilft aber ggf.
trotzdem weiter.

Garamon