Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: hash array

by McA (Priest)
on Oct 09, 2012 at 11:09 UTC ( #997979=note: print w/ replies, xml ) Need Help??


in reply to hash array

I must admit that I don't understand the question completely, but is that what you want:

print map { $_ . "_name\n" } values %clock;

Best regards
McA


Comment on Re: hash array
Download Code
Re^2: hash array
by Anonymous Monk on Oct 09, 2012 at 11:20 UTC
    my question is : @clk_array = %clock_sheet print "@clk_array\-name\n"; i'm getting the output error as follows: 1)@clk_array having the same elements twice example: clk1 clk1 clk2 clk2 clk3 clk3 ........... it has to be clk1 clk2 clk3 ......... 2)the extension _name is coming for the last element only i want the extension for all the elements eg:clk1_name clk2_name clk3_name

      Hmm, we can't see what's in your %clock_sheet. What is 'clk1'. Is it a key or a value or both in %clock_sheet?

      Please show us the content of the %clock_sheet. You can achieve that by:

      use Data::Dumper; print Dumper(\%clock_sheet), "\n";
        $VAR1 = { 'CLK_DBU' => 'CLK_DBU', 'CLK_IC_LMI0' => 'CLK_IC_LMI0', 'CLK_IC_ODP' => 'CLK_IC_ODP', 'CLK_T2' => 'CLK_T2', 'CLK_T3' => 'CLK_T3', 'CLK_DIRT' => 'CLK_DIRT', 'CLK_T1' => 'CLK_T1', 'CLK_CPU_SYS' => 'CLK_CPU_SYS' };
      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;
        A ++ for the explanation.
        thanks my issue got solved .... can u please explain about "map"

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2015-07-05 20:36 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