On Tuesday, October 15, 2002, at 01:07  PM, Luke Palmer wrote:

>> Any value may be forced, however, into being an explicit type: this is
>> commonly known as casting or typecasting. Typecasting is the act of
>> transforming a value of one type into a value of another type. The
>> typecasting operator in Perl is as:
>>
>> 5 as int
>> 5 as string
>> 5 as MyNumber
>
> Weren't we going to use constructor-style typecasting (at least as it
> currently stands)?
>
>         int(5)
>         # or
>         int.new(5)

Not sure -- probably so, but now I'm thinking it couldn't work that way.

I don't think typecasting can be constructor-based, because if you said 
($obj as MyThing), and $obj was already a MyThing, you probably 
shouldn't be cloning it, whereas (MyThing.new($obj)) probably should.

>> The keyword but is provided as a synonym for is. A typical use for but
>> is in expressions where the property is perhaps "surprising" in some
>> way.
>
> Nope.  C<but> is entirely different from C<is>.  I think the best
> description is that C<is> is for variables, and C<but> is for values.
> I can't be sure this is always the case, however....  Indeed, many of
> your examples use C<is> when they should use C<but>.

Thanks, I'll redo.  I'm trying to look it up again, but I still can't 
find the thread.  (Apparently I am the only one confused by this, but 
mighty confused I still be.)

MikeL

Reply via email to