Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Code Optimization v5.8.1

by CombatSquirrel (Hermit)
on May 20, 2004 at 17:49 UTC ( [id://355034]=note: print w/replies, xml ) Need Help??


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.
CombatSquirrel.
Entropy is the tendency of everything going to hell.

Replies are listed 'Best First'.
Re: Re: Code Optimization v5.8.1
by diotalevi (Canon) on May 20, 2004 at 18:42 UTC
    That is a useless use of /o.
Re: Re: Code Optimization v5.8.1
by jdporter (Paladin) on May 20, 2004 at 18:42 UTC
    Ah, that's what I was going to say!

    So here's something a little different:
    local $" = ';'; system qq( sed '@{[ map "s/\\<$_\\>/$_ ($acronyms{$_})/g", keys %acron +yms ]}' );
    Of course, if the acronym list is long, the above will smack into the command line length limit; in that case, it's easy enough to write a sed script file.
Re: Re: Code Optimization v5.8.1
by Jasper (Chaplain) on May 21, 2004 at 10:25 UTC
    and a useless use of $1 ;)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://355034]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-25 11:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found