#### GLOBS cause defined to show up # while(<*.pl>) {} DEFINEDNESS % perl -MO=Deparse -e 'while(<*.pl>) {}' while (defined($_ = CORE::GLOBAL::glob('*.pl', 0))) { (); } # 1 while (<*.pl>) DEFINEDNESS % perl -MO=Deparse -e '1 while(<*.pl>)' '???' while defined($_ = CORE::GLOBAL::glob('*.pl', 0)); #### Simple vars dont # while($x) {} TRUTHFULNESS % perl -MO=Deparse -e 'while($x) {}' while ($x) { (); } # '1 while($x)' TRUTHFULNESS % perl -MO=Deparse -e '1 while($x)' '???' while $x; #### Why do these two behave differently???? # 'while($x = <*.pl>) {} DEFINEDNESS % perl -MO=Deparse -e 'while($x = <*.pl>) {}' while (defined($x = CORE::GLOBAL::glob('*.pl', 0))) { (); } # '1 while($x = <*.pl>) TRUTHFULNESS % perl -MO=Deparse -e '1 while($x = <*.pl>)' '???' while $x = CORE::GLOBAL::glob('*.pl', 0);