Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Initializing a hash using a foreach loop

by BrowserUk (Patriarch)
on Nov 29, 2004 at 19:42 UTC ( [id://411026]=note: print w/replies, xml ) Need Help??


in reply to Initializing a hash using a foreach loop

Replace this

foreach ($i=0;$i<=$num;$i++) { %ServerStuatus = ( "$Ip[$i]" => ["$Names[$i]", "unknown"] ); }

With

%ServerStatus = map{ $Ip[$_] => [ $Names[$_], "unknown" ] } 0 .. $#Ip;

Please note that quoting all your variables that way is

  1. Unnecessary.
  2. Is making you code harder to read than it need be, and requiring you to type more.
  3. Making Perl work harder than it needs to.
  4. Under some circumstances, can cause errors. Specifically, when passing variables to built-ins that expect pass-by-reference.

Also, you've misspelt %ServerStuatus. Not that I can say anything, my spelling is atrocious. But I always use strict, so if I later spell it correctly, Perl would warn me. Without it, as your code appears to be, it won't be able to.


Examine what is said, not who speaks.
"But you should never overestimate the ingenuity of the sceptics to come up with a counter-argument." -Myles Allen
"Think for yourself!" - Abigail        "Time is a poor substitute for thought"--theorbtwo         "Efficiency is intelligent laziness." -David Dunham
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-04-19 04:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found