13: # entweder so: 14: my $t=$text; 15: for my $key (keys(%tags)) 16: { 17: $t=~s|\[$key\](.+?)\[/$key\]|sprintf($tags{$key},$1)|egs; 18: } 19: print "$t\n"; 20: 21: #oder so: 22: $t=$text; 23: $t=~s|\[([^\[\]\W]+)\](.+?)\[/\1]|replace($1,$2)|egs; 24: print "$t\n"; 25: 26: sub replace 27: { return sprintf($tags{shift(@_)},shift(@_)) }