+ while ($line =~ m/\[\% # Template-Start-Tag
+ [\-~#] # Whitespace-Unterdrückung
+ \s* # Optional beliebig viele Whitespace
+ [\'\"] # Anfang des zu übersetzenden Strings
+ (.*?) # Der zu übersetzende String
+ [\'\"] # Ende des zu übersetzenden Strings
+ \s*\|\s* # Pipe-Zeichen mit optionalen Whitespace davor und danach
+ \$T8 # Filteraufruf
+ .*? # Optionale Argumente für den Filter und Whitespaces
+ [\-~#] # Whitespace-Unterdrückung
+ \%\] # Template-Ende-Tag
+ /ix) {
+ print "Found filter >>>$1<<<\n";
+ $cached{$_[0]}{all}{$1} = 1;
+ $cached{$_[0]}{html}{$1} = 1;
+ $plugins{needed}->{T8} = 1;
+ substr $line, $-[1], $+[0] - $-[0], '';
+ }
+