Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Re:{3} Eval and $@% ...

by srawls (Friar)
on Jun 19, 2001 at 05:11 UTC ( #89534=note: print w/replies, xml ) Need Help??

in reply to Re:{3} Eval and $@% ...
in thread Eval and $@% ...

Look at perlref. GLOBs are Handles in general, so read them in array context with brackets like I did.

Only when used as a filehandle. For a variable name there is a scalar ($), a list (@), a hash (%), a filehanlde, and a format. Instead of saying:

$foo=$bar; @foo=@bar; %foo=%bar;
you can just say:
*foo = *bar;
So, when you dereference a type glob, you don't add the <foo> unless you are reading from a file handle.

The 15 year old, freshman programmer,
Stephen Rawls

Replies are listed 'Best First'.
Re: Eval and $@% ...
by Abigail (Deacon) on Jun 19, 2001 at 09:56 UTC
    No, you can't "just say" that
    $foo=$bar; @foo=@bar; %foo=%bar;
    *foo = *bar;
    are equivalent. The first set of assignments sets $foo, @foo and %foo from the values of $bar, @bar and %bar, and that's it. If you later assign to $bar or $bar [3], $foo and $foo [3] remain unchanged. However, with the glob assignment, $foo, @foo and %foo become aliases for $bar, @bar and %bar. Modifications of the one are reflected in the other.

    -- Abigail

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://89534]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2018-03-20 15:33 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (254 votes). Check out past polls.