Yup. Actually Its worse then that. Try using a number with a zero in it. It stops at the zero. I guess I should have run it instead of just trusting that it would work. (I'll try to re-write it to make it work, and I'll post the current, bad, version here so that other's will understand the mistake.)
chop($_=<>);print "\n$a: ",$a>>1?'odd':'even' while $a=chop;
# The above snipit does not work.
# When I posted it, I was thinking that the bit shift >>
# would return the bit shifted off the end, but of course,
# sanity eventualy prevailed and I realized that it does
# not do that. (duh!)
# Additionally, it has a bug in that it stops on the first
# zero in the number.
# TEST TEST TEST!!!