in reply to beyond me

What that's doing is known as a hash slice. It's a shorthand for:

$o{'a'} = $a; $o{'b'} = $b; $o{'c'} = $c;
<GUESS>The reason for the @ symbol is because assigning values from one ordered list to another. (Hashes are unordered, so you have to order them, especially if you want this to be an rvalue.)</GUESS>

Replies are listed 'Best First'.
Re: Re: beyond me (It's a hash slice)
by PrakashK (Pilgrim) on Jul 25, 2001 at 23:06 UTC
    The type of brackets ({} here) after the variable name indicate the type of of the variable. The symbol in front of the variable name just tells you the return type of the expression.

    Uri Guttman explains hash slices here.

      Excellent link, PrakashK, to Uri Guttman article about hash slices! Now I got it!
      I was told that one is not using perl if not using hashes, and I was trying. Now I was enlighted (again): hash slices are really cool! I have couple ways how to use them. Must-read article!

      pmas
      To make errors is human. But to make million errors per second, you need a computer.