On 12/5/05, Jennifer Garner <[EMAIL PROTECTED]> wrote:
> print ${*{$::{sym}}{HASH}}{name};

> How to analyse the last sentence of that code?Thanks.

>From "perldoc perlref"

       7.  A reference can be created by using a special syntax, lovingly
           known as the *foo{THING} syntax.  *foo{THING} returns a reference
           to the THING slot in *foo (which is the symbol table entry which
           holds everything known as foo).

               $scalarref = *foo{SCALAR};
               $arrayref  = *ARGV{ARRAY};
               $hashref   = *ENV{HASH};
               $coderef   = *handler{CODE};
               $ioref     = *STDIN{IO};
               $globref   = *foo{GLOB};

So $::{sym} returns the glob symbol "sym" on the main package ($main::
or $::), takes a reference to its HASH part, and returns what it got
in the key "name". Piece of cake, ain't it?

Regards,
Adriano.

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to