regular expressions sind nicht meine Freunde. Nun stehe ich aber vor einem Problem, daß ich auch nach Stunden einfach nicht auf die Reihe bekomme.
Erstmal sieht alles relativ einfach aus. Ich habe einen LDAP - DN in folgender Form
cn=Frank\,Naumann,ou=test\,1,o=test\,2,c=de
diesen DN möchte ich nun wie folgt trennen.
cn=Frank\, Naumann
ou=test\,1
o=test1\,2
c=de
Trennzeichen sind normalerweise die Kommata. Da ich aber auch im CN und im Kontext maskierte Kommata habe, fällt einfaches Trennen leider aus.
Mein Vorstellung war nun die Zeichenkette '\,' temporär umzuwandeln. Z.B in '||'
Den dann erzeugten DN: cn=Frank||Naumann,ou=test||1,o=test||2,c=de könnte ich mit split(/\,/,$DN) ohne Probleme trennen und hätte mein gewünschtes Array.
Danch würde ich '||' in den Values wieder in '\,' umwandeln und alles wäre OK.
Mein Problem ist, daß ich dieses Sch.... \, nicht umwandeln kann. Das Maskierungszeichen wird einfach nicht gefunden.
Wenn ich testweise für das Maskierungszeichen ein Anderes verwende, funktioniert mein Ausdruck.
$DN=~s/(\\\,)/\|\|/g;
Kann mir jemand helfen

Viele Grüße,
Naumi