Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: hash array

by bart (Canon)
on Oct 09, 2012 at 11:33 UTC ( #997987=note: print w/ replies, xml ) Need Help??


in reply to Re^2: hash array
in thread hash array

I think McA pretty much got it nailed. Let me tell you what is going on.

  1. @clk_array = %clock_sheet; will flatten the hash as a list in the form (key1, value1, key2, value2, ...). You either want just the keys, or just the values. For which, duh, keys and values could be very useful. Like:
    @clk_array = keys %clock_sheet;
    or
    @clk_array = values %clock_sheet;
  2. You magically expect "@clk_array\-name" to distribute the suffix "-name" across each element. But instead the string will take each value from the array, and join them with the current value of $" which is a space by default, and then append the suffix to the whole.

    To distribute the suffix over every element, you can use map:

    @clk_with_suffix = map "$_-name", @clk_array;


Comment on Re^3: hash array
Select or Download Code
Re^4: hash array
by McA (Priest) on Oct 09, 2012 at 11:38 UTC
    A ++ for the explanation.
Re^4: hash array
by Anonymous Monk on Oct 09, 2012 at 11:54 UTC
    thanks my issue got solved .... can u please explain about "map"

      Please have a look at perldoc -f map. If there's something you don't understand, allmost everyone will help you.

      map is a looping function to apply an expression or a block to every item in a list (each item in turn assigned to $_), and collect/return the list of results. It's like:
      my @results; foreach(@_) { push @results, &$CODE(); } return @results;
      where $CODE is the expression (delimited by a comma) or block (no delimiter) in the first argument.

      example:

      @output = map $_*2, 1 .. 10;
      which is identical in result to
      @output = map { $_*2 } 1 .. 10;
      and which return the even numbers from 2 to 20; the double of all numbers between 1 and 10.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2015-07-05 23:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (68 votes), past polls