while () { print; } # tests for definedness print while ; # tests for definedness #### while ($_ = <*>) { print } # tests for definedness print while ($_ = <*>); # tests for truthfulness #### % mkdir newdir % cd newdir % touch 0 1 2 % ls 0 1 2 % perl -le 'while ($_ = <*>) { print }' 0 1 2 % perl -le 'print while ($_ = <*>)' [note nothing is printed here]