>So you wouldn't be in favour of:
> my Dog $spot;
> print defined($spot) ? 'defined' : 'undefined'; # undefined
> print $spot->isa('Dog') ? 'Dog' : 'not dog'; # Dog;
>then?
>Bang goes that RFC...
No, I would argue that undef() be changed to uninitialize().
This is infinitely better for many, many reasons.
1) Because it's now an action verb. the English semantics of
the word change will encourage the correct
uninitialize @foo;
2) For the same reason. it will discourage the incorrect
@foo = uninitialize;
3) Likewise, it will discourage the incorrect
if ($foo == uninitialize)
4) People won't be so quick to use it since it's longer to type
uninitialize @foo;
than the generally-fine and much more obvious
@foo = ();
and best of all
5) No lamer will ever whine "Why does it say uninitialized when I just
now initialized it to uninitialized?" again.
You think of teasing. And I am. But if you think about it, this notion has
a lot going for it, too.
--tom