nur, das halt alle String-Platzhalter %s heißen.
Die Reihenfolge lässt sich aber ebenso wie in PHP beeinflussen.
Das Problem ist, dass alle Platzhalter %s heißen. D.h., alle Platzhalter haben denselben Namen. Von daher müssen die Daten/Werte für Platzhalter in derselben Reihenfolge geliefert werden wie es das Template vorgibt.
Idealerweise jedoch sind Platzhalter nicht anonym und werden über ihre Namen zugeordnet:
xprintf(q(
Name: %name
Ort: %ort
), {
ort => 'Hamburg',
name => 'Otto'
});
und nur das Template bestimmt die Reihenfolge der Ausgabe. D.h., dass die Reihenfolge der in der an die TE übergebene Datenstruktur überhaupt keine Rolle spielt.
MfG