in reply to Re: key and values help
in thread key and values help

I like your solution, but I'm not sure what + is doing in this line:
push @{$groups{ +shift( @items ) }}, shift( @items );
I found this in perlop

Unary "+" has no effect whatsoever, even on strings. It is useful syntactically for separating a function name from a parenthesized expression that would otherwise be interpreted as the complete list of function arguments.

Is that what you were doing there? Making sure Perl knew that the return value from shift( @items ) was not part of an argument list?

This @ISA my cool %SIG

Replies are listed 'Best First'.
Re^3: key and values help
by davido (Cardinal) on Aug 07, 2004 at 14:26 UTC

    You are close. Usually Perl sees any bareword placed in the position of a hash key as literal text, the actual key. The plus forces Perl to see it as an expression; in this case, a function, and evaluate it as a function using its return value as the hash's key.