Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: hash array

by McA (Deacon)
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 examining the Monastery: (18)
As of 2014-07-24 18:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (165 votes), past polls