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 ( [id://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;

Replies are listed 'Best First'.
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"
      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.

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

Log In?
Username:
Password:

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

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

    No recent polls found