thor has given you the best advice in this thread. You should look again here
If I understand your problem correctly, you should also seriously consider whether or not Perl is the tool. SQL is designed precisely for this job. Even with 250 substituions to make, you can meet your million record per hour goal with the right indexes and halfway modern hardware.
Also for the non Perl people that follow you this:
UPDATE my_table SET name='Admin' WHERE name='Administrator';
..is easier to follow than the Perl.
Another (maybe better?) more perlish way to take advantage of the indexes in your database would be to use DBI to create a cached SQL statement with placeholders. You could loop through, stuffing items from your list of substitutions into the placeholders..
email: mandog