Thread RegExp aus Hash bauen mit Named Matches (2 answers)
Opened by zilpzalp at 2013-09-22 00:43

pq
 2013-09-22 00:54
#170473 #170473
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das problem ist, dass das $+{id} schon ausgewertet wird, wenn du den hash definierst.
eine lösung, mit der du flexibel bleibst:
Code (perl): (dl )
1
2
3
4
my $repl = {
    id => { is => ..., by => sub { "ID: $+{id}" } },
};
$text =~ s/$repl->{$p}->{is}/$repl->{$p}->{by}->()/eg;

du hinterlegst also eine subroutine, die erst bei der ersetzung aufgerufen wird.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread RegExp aus Hash bauen mit Named Matches