2010-03-14T12:33:39
biancaIch find es gerade auch etwas merkwürdig.
Wenn in der inneren Schleife wenigstens $tag verwendet würde, vielleicht. Aber so?
Funktioniert denn alles wie gewünscht?
Watt soll datt Dingens denn machen?
Ja, es funktioniert, ist ein Script um Änderungen in HTML-Dateien anzuzeigen. Meine Vermutung ist, dass der Programmierer zuerst das über eine Schleife über das Array @tags probiert hat, dann den besseren regulären Ausdruck gefunden/implementiert hat, aber die innere Schleife nicht entfernt hat.
2010-03-14T13:22:49
lichtkindmeinst du statt $1 nicht $_?
da $1 ein gefundenes subpattern der anderen regex wäre schaute ich da nach und fand keine runde klammern? du willst ja in der innderen schleife nachsehen ob einer der tags da ist. und da kommt man halt auf den gedanken wie mein vorposter.
stimmt, ich habe testweise mal '$_' genommen, aber das gab wie zu erwarten nichts sinnvolles.
Habe den Code jetzt so umgeschrieben und funktioniert weiterhin, nur schneller. :)
##
## 'Globale' Variablen
## 'cre': 'compiled regular expression' with qr//;
our $nbsp = ' ';
our $creUnmangleNbsp = qr#\@\@\@\@ ~~~~#sio;
our $creMangledBrackets = qr#~~~~(\/*.*?)\@\@\@\@#sio;
##
# in Funktion:
foreach my $token ( @$refNewtokens ) {
## WAS: $token =~ s/\@\@\@\@ ~~~~/ /sig;
$token =~ s/$creUnmangleNbsp/$nbsp/go;
$token =~ s/$creMangledBrackets/<$1>/go;
} ## end foreach