Re: OT: regulaerer Ausdruck gesucht

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Fri, 14 May 2004 04:33:29 +0200

Morgen Leute!

Am Fr, den 14.05.2004 schrieb Andy Tschiersch um 01:11:
> SK> Das stimmt, aber diese Anforderung stand ja nicht in der
> SK> Aufgabenstellung. Außerdem ist das ja hier keine Perl-ML :)
>
> Ich weiss, nur für alle Fälle ;)
> (jedenfalls ist es die erste Frage wo ich auch mal mit reden kann
> *grins*)
>
> >> Hier mal eine Variante die damit umgehen kann:
> >>
> >> %l = split(/ *\t+[\t ]*|\n\r?/, $inline);

Ah ja, das geht schonmal so, wie ich es wollte, vielen Dank! (Ob ich es
irgendwann verstehe ist eine andere Sache ;).

Nur hat Perl leider ein andere Vorstellung davon, was Schlüssel nd was
Wert ist, aber ich kann's ja wenden ... :)

> SK> Da split() ein Array zurückgibt, erscheint mir diese Kon-
> SK> struktion mit dem Hash aber immernoch als wenig sinnvoll.
> SK> IMO. YMMV.
>
> Ich habs erst auch nicht kapiert warum er da ein HASH zu stehen hat.
> Aber ein HASH ist im Grunde genommen auch nur ein ARRAY. Nur das es
> etwas anders arbeitet. Folgendes ist in Perl ja auch möglich:

So dachte ich auch. Es war erst ein Array, das hätte ich aber mühsam
durchsuchen müssen, da die Daten (wie ich bisher verschwiegen hatte)
tatsächlich die Struktur Schlüssel/Wert haben. Wenn sie eingelesen sind,
werden damit in einer Zieldatei verschiedene Platzhalter ersetzt. Und
eben das will ich so einfach wie möglich machen.

> %hash = @array
>
> Bei dieser Zuweisung werden einfach alle ungerade Elemente Keys und
> alle gerade Elemente Values. Also das erste Element aus dem Array wird
> ein Key, das zweite Element dessen Value, das dritte wieder ein Key
> usw.
>
> Genau so auch bei obigen Perlcode mit split(). Es ensteht ein HASH bei
> dem die Namen aus der Beispiel-Datei die Keys werden, und die
> Bezeichnungen deren Values.

Genau, das geht tatsächlich. Und dazu gekommen bin ich, wie die Jungfrau
zum Kind: Ich hatte versucht die Datei zeilenweise einzulesen, bekam
aber imer gleich den ganzen (sehr kurzen) Text eingelesen.

Und weil mir das einfacher schien, habe ich eben damit weitergemacht,
ein bisserl Zeichenketten kann nicht so schwierig sein, dachte ich bis
dahin. ;)

Grüße,
Marc

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 14 May 2004 - 04:46:50 CEST

search this site