in reply to Re^3: A more efficient way to do this?
in thread A more efficient way to do this?
my %field_hash = (unvLocalPhone => "Phone", unvCampusPhone=> "Phone", unvLocalAddress => "Address", ); foreach my $field (@ldapFields) { if (exists $field_hash{$field}) { $field = $field_hash{$field}; } }
As for performance, using a hash will be dramatically faster for this section than a series of elsifs would be - think of it as the hash takes a little longer to get the right answer the first time as opposed to possibly having to test every possible value. People much smarter than me have worked hard on making Perl's hash lookups quite fast.
But more importantly, never forget Donald_Knuth's classic quote on the matter: premature optimization is the root of all evil. Wait until you have your code working, then benchmark and profile to find your bottlenecks. When you get that far, look up Devel::NYTProf and Benchmark.
|
|---|