Thread Variablen in String auflösen (6 answers)
Opened by Ban-Joke at 2011-02-16 17:59

pq
 2011-02-16 18:09
#145705 #145705
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
eine typische aufgabe.
wenn es wirklich nur um diese eine variable geht, kann man einfach folgendes machen:
Code (perl): (dl )
$string =~ s/%\$abc%/$abc/;


man sollte aber bedenken, dass das ganze hässlich wird, sobald es mehrere solche variablen gibt. dann ist es empfehlenswert, die variablen in einen hash zu packen.
Code (perl): (dl )
1
2
3
4
5
6
7
my %replace = (
   abc => 1,
   def => 2,
   ...
);
my $re = join '|', keys %replace;
$string =~ s/%\$($re)%/$replace{ $1 }/g;


Editiert von pq: prozentzeichen übersehen, code angepasst
Last edited: 2011-02-16 18:12:48 +0100 (CET)
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 Variablen in String auflösen