hi!
$string="Attila Hermine Astrid Otto Hendrik";
$string="test98";
Zur Erklärung: Der String enthält nach der Umformung nur noch
jeweils den zweiten Buchstaben eines jeden Wortes, der letzte
dieser Buchstaben wurde durch seinen ASCII-Wert ersetzt.
Das kapiere ich dann noch nicht so ganz, denn 98 ist der ASCII-Wert
für das 'b', der für 'e' ist 101.
Den ersten Teil (alles rausschmeissen außer den jeweils zweiten
Buchstaben) habe ich wie folgt gelöst:
$string=~s/\b.(.).*?( |$)/$1/g;
So komme ich zum Ergebnis "teste". Wie aber ändere ich den
regulären Ausdruck so, das er anstelle des letzten Buchstabens
"e" dessen Wert "98" einsetzt?
$string =~ s/(.)$/ord $1/e;
Man darf in Perl auch mehrere Anweisungen hintereinander ausführen,
muss also nicht alles in eine Zeile quetschen. Daher wandelst du den
letzten Buchstaben am besten in einer eigenen Anweisung in seinen
ASCII-Wert um.
Vielleicht nimmt jemand diese Fragestellung mit in den Feierabend
und knobelt eine Lösung aus. Ich werde mich auch dransetzen und
hier morgen nach anderen Lösungsvorschlägen sehen.
Naja, wenn ich über sowas 'ne ganze Nacht knobeln müsse... ;)
bye, Frank!