http://www.perlmonks.org?node_id=833133

bichonfrise74 has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to build a hash of possible substitutes for a given word or regex. So, I came up with this.
#!/usr/bin/perl use strict; 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\n";
This is the output.
The yellow fox float(10) over float(200) fence.
My expected output is something like this.
The yellow fox int over float fence.
So, I'm not sure if I can put regex in the keys of my hash and use that to check for possible substitutes. Also, why did int(10) become float(10) in the output??