Hi,
Jetzt kommt in dem Ausdruck ja viermal (bzw. bei mehr Feldern noch öfter) der gleiche Teil vor - kann man das irgendwie kürzer schreiben?
kürzer _schreiben_ kann man es - durch Verwendung von Variablen.
Ok, die Verkürzung bezieht sich dann aber auf das Zeug, das für ein Feld nötig ist, aber auch mit
$f = qr/<(<none>|[^>]*)>-/;
muß ich immer noch m/MARKER-([^-]*)-$f-$f-$f-$f
schreiben, ich kann also immer noch keinen Quantifier dafür nutzen, also
m/MARKER-([^-]*)-(?:$f){4}
bringt immer noch das "falsche" Resultat.
Effektiv bleibt die RegExp dann natürlich genauso lang. Nach meinem Verständnis der Materie ist eine "echte" Verkürzung über ...
if ($teststring =~ m/MARKER-([^-]*)-(?:<(<none>|[^>]*)>-){4}/)
... hinaus nicht möglich.
Was ja leider nicht identisch ist, da die $2, $3 usw. anders bzw. gar nicht belegt werden.
Du kannst den Code halt lesbarer machen, das ist aber schon alles.
Schade ...
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.