in reply to Hash of Regex
When you want use those as regular expression pattern for substitute command,there is no need to give match(//) operator to match those pattern.Because,you want to replace get the pattern from hash key and put it in the substitute command.For this,you can try the following script.
For better understanding,you can print the internal structure of hash by using Dumper function. You need to escape the () parentheses,because it is used for grouping in substitute command.my $test = 'The brown fox int(10) over float(200) fence.'; my %dict = ( 'brown' => 'yellow', 'int\(\d+\)' => 'int', 'float\(\d+\)' => 'float', ); for my $i (keys %dict) { $test =~ s/($i)/$dict{$i}/gi; } print $test;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Hash of Regex
by Anonymous Monk on Apr 07, 2010 at 18:49 UTC |
In Section
Seekers of Perl Wisdom