Compared to IO time any technique from carving on a stone tablet up is likely to be fast enough. Until you see a speed problem in practice with real data don't worry about it. If you are worried, profile the code to find out where the time is actually spent rather than guessing. And always remember that a change of algorithm will generally get better results than fiddling with details.
Having said that, the following technique may be of interest:
#!/usr/bin/perl -w use warnings; use strict; my %translate = ( "string a" => 1, "string b" => 2, "string c" => 3, true => 1, false => 0, ); my $match = "\Q" . join ("\E|\Q", keys %translate) . "\E"; while (<DATA>) { s/($match)/$translate{lc $1}/ige; print; } __DATA__ what is the best way to translate "TRUE" and "FALSE" to "1" or "0" res +pectively? or "string a", "String B", "String C" to "1-3" respectively.
Prints:
what is the best way to translate "1" and "0" to "1" or "0" respective +ly? or "1", "2", "3" to "1-3" respectively.
In reply to Re: timtowtdi but which is the [quote fingers]best[/quote fingers]
by GrandFather
in thread timtowtdi but which is the [quote fingers]best[/quote fingers]
by PyrexKidd
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |