Thread CONF Datei in Assoziatives Array (9 answers)
Opened by Andreas at 2004-04-20 15:50

Knuddlbaer
 2004-04-20 17:42
#81691 #81691
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
[quote=Andreas,20.04.2004, 14:28]$line =~ /^(.*)\s+(.*)\s*$/;


Schau Dir aber das an was tomlong schreibt.
Kenne das nicht, aber das hört sich einfacher an :o)[/quote]
Das fällt unter Reguläre Ausdrücke.

Ich versuche mal zu erläutern und behebe gleich nen Fehler.
      $line =~ /^(.*)\s+(.*)\s*$/;
sollte
      $line =~ /^(.+)\s+(.+)\s*$/;

heissen

$line =~ bedeutet das der folgende Ausdruck auf $line angewendet werden soll.

Mit / begrenzt man einen Regulären ausdruck. (Wie die " bei einem string)

^ am Anfang bedeutet: Es muss am Zeilenanfang stehen
.+ bedeutet: Beliebigviele beliebige Zeichen (auch 1)
\s+ bedeutet: beliebigviele leerzeichen (min 1)
\s* bedeutet: beliebigviele leerzeichen, auch keines
$ bedeutet: zeilenende
() bedeutet: Das Resultat das auf den Ausdruck in der Klammer passt in $1 $2 .... $n speichern. Die Klammern werden von links nach rechts durchgezählt.


Der Ausdruck bedeutet:

Zeilenanfang gefolgt von mindestens 1 Zeichen gefolgt von mindestens 1 Leerzeichen gefolgt von mindestens 1 zeichen
gefolgt von eventuellen Leerzeichen gefolgt von einem \n\n\n

<!--EDIT|Knuddlbaer|1082470474-->

View full thread CONF Datei in Assoziatives Array