in reply to Code Optimization v5.8.1

In addition to what the others said, I would also like to pint out that you can build RegExes "on the fly" and get rid of that foreach (keys ... loop in your program. I solved the original problem because it is easier ;-):
#!perl use strict; use warnings; my %acronyms = ( 'HTML' => "Hypertext Markup Language", 'ICBM' => "Intercontinental Ballistic Missile", 'EEPROM' => "Electronically-erasable programmable read only memory +", 'SCUBA' => "Self Contained Underwater Breathing Aparatus", 'FAQ' => "Frequently Asked Questions", 'LCARS' => "Library Computer And Retrieval System", 'NASA' => "National Aeronautical and Space Administration" ); my $regex; { my $temp = join '|', map quotemeta, keys %acronyms; $regex = qr/($temp)/o; } while (<>) { s/$regex/$1 ($acronyms{$1})/g; print; }
Anyways, you should always use strict; no matter what; it helps a lot with syntax problems.

Hope this helped.
Entropy is the tendency of everything going to hell.