In a message dated Tue, 3 Sep 2002, Garrett Goebel writes:
> Don't the following statements have identical meaning?
>
> my Date $date;
> my Date $date = Date->new();
Not at all. The first declares that $date is a variable containing Date
objects, the second does the same, plus instantiates a new object. The
difference is analogous to
my str $foo;
my str $foo = "bar";
> And admittedly, I don't have a firm grasp on how lvalue assignment would be
> mapped to object methods... but wouldn't the following statements also be
> identical?
>
> $date = 'June 25, 2002';
> $date->STORE('June 25, 2002');
If it were a tied scalar, indubitably (assuming that Perl 6 ties work like
Perl 5 ties). But if it weren't, it would be like doing... oh, I don't
know, maybe:
%foo = "June 25, 2002";
Since typing of variables is new in Perl 6, there's no exact equivalent,
but you get the idea.
> So what again is wrong with:
>
> my Date $date = 'June 25, 2002';
Nothing--if Date is tieable and implements a STORE method which
instantiates a new object.
Trey