Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: subroutine reference parameters

by choroba (Chancellor)
on Jun 03, 2011 at 14:18 UTC ( #907985=note: print w/replies, xml ) Need Help??

in reply to subroutine reference parameters

each returns two things, key and value. You only assign to $key. You probably wanted to use keys instead? Or this:
sub printElement { my ($key,$val) = @_; print $key,' ',$val,"\n"; } my %hash = (0 => 'a', 1 => 'b', 2 => 'c'); while(my ($key,$value) = each(%hash)) { &printElement($key, $value); }

Replies are listed 'Best First'.
Re^2: subroutine reference parameters
by gnosti (Friar) on Jun 04, 2011 at 01:38 UTC

    You posted a link to the documentation for 'each'. Perhaps you should re-read it! When called in scalar context, the function returns a key. When called in list context, it returns a key-value pair.

      OK, but ($key) = is not scalar context.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2016-10-25 03:05 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (313 votes). Check out past polls.