Hallo Jürgen,
ein Patentrezept habe ich leider auch nicht, zumal ich mit Perl noch nicht produktiv gearbeitet habe. Reine String- Operationen werden wegen den Einschränkungen mit dem folgenden P wohl auch nicht zum Erfolg führen, es sei denn, man macht das Ganze „zu Fuß“.
Gute Möglichkeiten sehe ich bei regulären Ausdrücken.
In C# könnte das Ganze so ähnlich aussehen:
string[] parts = Regex.Split(value, „([KR])“);
Wenn man die Trennzeichen in Klammern setzt gehen sie nicht wie beim String- Operator Split verloren.
Ein anderer Ansatz ist folgender:
string input = „AGHPQRTXHXSLOKPJGKLUA“;
Regex reg = new Regex(@"[A-JL-QS-Z]*[RK]{1}");
MatchCollection coll = reg.Matches(input);
Durch das Beispiel wird das Ganze in
„AGHPQR“ „TXHXSLOK“ „PJGK“ aufgeteilt.
Das sind zwar nur Ansätze für die Problemlösung, die mit Perl auch anders aussehen werden, ich denke aber, das Reguläre Ausdrücke prinzipiell das richtige Mittel für die Aufgabe sind.
Gruß
ziba