http://qs321.pair.com?node_id=223556


in reply to Perl cheat sheet

 $foo = "bar"; $$foo

Just to make sure that I'm reading this correctly. This is saying, "if $foo is a scalar value, don't try to expand it as an array reference." Is that correct?
Just wanted to make sure that I was off the NEVER list.

oakbox

Replies are listed 'Best First'.
Re: Re: Perl cheat sheet
by Juerd (Abbot) on Jan 01, 2003 at 14:09 UTC

    Just to make sure that I'm reading this correctly. This is saying, "if $foo is a scalar value, don't try to expand it as an array reference." Is that correct?

    Not really. It's saying: "Do not use symbolic references."

    With $foo = 'bar'; $$foo = 'xyzzy';, xyzzy is assigned to $bar. Of course, strict does not allow symbolic references (although you can of course use no strict 'refs';. The entry in the cheat sheet is just a reminder for newbies, who generally don't know the term "symbolic reference" and do use Perl like this. It's the kind of newbie that hasn't discovered hashes yet.

    So what I'm really saying is: "If $foo is a scalar value, don't use it as a reference." This is not only for arrays.

    - Yes, I reinvent wheels.
    - Spam: Visit eurotraQ.