some puzzles

Rick J pisium at yahoo.com
Tue Mar 20 17:12:39 CST 2001


Thank you, Rox!

Your explanation is very helpful to me.

However, I double checked 2.
$var = (10, 20, 30);
$var is 30, not 3. I ran it on Unix and NT. It's same.

About your extra examples:
6. $v1, $v2, $v3 = 10, 20, 30;
7. $v1, $v2, $v3 = (10, 20, 30);

I guess it's due to the precedence of '=' ',', '()'
Because () is higher than = than , precedencewise.
Ex 6. It first evaluates $v3 = 10. After that, since
'=' is used already, $v1, $v2 and 10, 20 become
orphans, nowhere to assign the value.
Ex 7. In parens on the right side, it evaluates the
commas within the parens, and 30 is returned, and
assigned $v3 after left side commas evaluation.
Therefore if we print out the results for both like 
print "$v1:$v2:$v3";
Ex6. ::10
Ex7. ::30

If that's the case, it explains why in the context of
$var = (10, 20, 30); we get $var = 30.
 
Weird enough though.

Rick

__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/
=================================================
Mailing list info:  If at any time you wish to (un|re)subscribe to
the list send the request to majordomo at hfb.pm.org.  All requests
should be in the body, and look like such
                  subscribe anchorage-pm-list
                  unsubscribe anchorage-pm-list



More information about the Anchorage-pm mailing list