a bit,
if i got this right, $z=*x is assigning the singleton(of sorts) of "main::x"
into $z?

On Sun, Apr 17, 2011 at 4:58 PM, Issac Goldstand <[email protected]>wrote:

>  Hi Ronen!
>
> The former (\$x) is a reference to the scalar value of x ($x).  The latter
> is a pointer to the symbol table for all symbols called "x".
>
> So when you're doing $\$x ($$y) you're asking for the scalar value of the
> reference to the scalar 1
> When you're doing $*x ($$z) you're asking for the scalar entry in the
> symbol table for symbol x (also 1).
>
> Does that clear things up for you?
>
>   Yitzchak
>
>
> On 17/04/2011 16:52, Ronen Angluster wrote:
>
> Hi all!
> happy passover!
>
>  i've been wondering and could not find anyone who could explain
> to me what is the difference between \$var to *var...
> consider the following:
> *$x=1;*
> *$z=\$x;*
> *$y=*x;*
> *print "$y\n$z\n";*
> would print:
>  **main::x*
> *SCALAR(0x1951ac8)*
>
>  but if we:* print "$$y\n$$z\n";*
> the output would be:
> *1*
> *1*
>
>  so, why use 1 against the other? what does it mean that the pointer is to
> the class and
> not to the memory space of the variable?
>
>
>  Ronen
>
>
> _______________________________________________
> Perl mailing [email protected]http://mail.perl.org.il/mailman/listinfo/perl
>
>
>
> _______________________________________________
> Perl mailing list
> [email protected]
> http://mail.perl.org.il/mailman/listinfo/perl
>
_______________________________________________
Perl mailing list
[email protected]
http://mail.perl.org.il/mailman/listinfo/perl

Reply via email to