perl -e 'use Data::Dumper; @a=(1,0,undef,2); print Dumper(@a); print "1=$_=\n" foreach (@a); @ARGV=@a; print "2=$_=\n" while($_=shift @a); @a=@ARGV; print "3=$_=\n" while($_=shift @a,defined $_); @a=@ARGV; print "4=$_=\n" while($_=shift);'