> Date: Tue, 15 Oct 2002 12:24:56 -0700 > From: Michael Lazzaro <[EMAIL PROTECTED]>
> In Perl, variable names always begin with a special character called > a sigil, Ahem, "funny character." The Camel glossary has no entry for "sigil" (though I realize it's common terminology). > > 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) > 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>. > Variables may be given two types of assertions, which are declared > using on get and on set: > > my Dog $dog > on get { ... } > on set { ... }; I'd imagine that these, too, would be properties. my Dog $dog is retriever {...} # :-P Luke