in reply to Taken out of Context

So when are "< file", "file", and "<file" all the same string? When I use them in the second-argument-to-open context, of course!

My point is that the concept of "context" isn't always the best choice and you have found a case where it isn't. *b and \*b are different (but somewhat similar) scalar values. You can prove that "context" isn't what makes these act the same here:

$b= "B"; *y= *b; print "$y\n"; *y= \*b; print "$y\n";
by noting that they also act the same here:
$b= "B"; $x= *b; *y= $x; print "$x: $y\n"; $z= \*b; *y= $z; print "$z: $y\n"; __END__ Produces: *main::b: B GLOB(0x1bb2b1c): B

So it isn't that *y= provides some special, magical context that causes *b and \*b to be the same. It is that the act of assigning something to a glob ends up calling some C function inside of perl and that C function decides to do the same things when given a glob or a ref to a glob.

        - tye (but my friends call me "Tye")