the first is a special variable. In this case the OUTPUT_AUTOFLUSH variable that controls whether the output is buffered. You can read about it an other variables by typing perldoc perlvar
In the second case you have a hash that contains references to arrays. something like
%h = (a => [1,2], b => [3,4]);
. the $h0{puts} part returns a <b>reference</b> to an array. To dereference it you need to put a '@' in front of it. so to dereference $a, you would type <code>@$a. you a more complex expression that yields a reference you would use @{} to dereference it for clarity.
Similarly, in the third example you are dereferencing a reference to a hash $hr1 to get a hash. The third could by written more succinctly as %$hr1
Typing perldoc perlreftut will teach you about references and dereferencing.
It also sounds like you could use a good introduction to Perl. I would suggest Learning Perl or Modern Perl.
-pete
"Worry is like a rocking chair. It gives you something to do, but it doesn't get you anywhere."
|