Gordon Henriksen schreef: > I find it useful to distinguish between unassigned and undefined > (null).
I am not sure that you need this distinction, but it should be no problem to have it, just like 'tainted' and 'NaN' and 'zero/empty' and 'error'. > I find null propagation frustrating; it's more useful that my code > keep data rather than to throw it away on the theory that "undef > means maybe, and anything combined in any fashion with maybe results > in more maybe". I just wind up writing defined(expr)?expr:0 over and > over to avoid throwing away the other part of the expression. It should be a lexical mode, so that you can choose when to have it and when not. I prefer the "anal retentive 99 + undef -> die" mode for almost everything. > An unassigned variable is very different, and is a compile-time > concept. Static flow control can find accesses of not definitely > assigned local variables AFAIK that is not possible in Perl. (eval etc.) -- Grtz, Ruud