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>