Thread CONF Datei in Assoziatives Array
(9 answers)
Opened by Andreas at 2004-04-20 15:50
[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--> |