That will work because it is in the same shell, the subshell does not pass back the variable assignments. When you "cat file | " you are opening a subshell. =20 Lesson to be learned here, if you are porting to Linux be very carefull if you have a lot of shell scripts! I think the same problem is in bash since the link I sent in the last email related to bash. -----Original Message----- From: Kevin Lange [mailto:klange@xxxxxxxxxx]=20 Sent: Tuesday, April 05, 2005 3:51 PM To: Post, Ethan; oracle-l@xxxxxxxxxxxxx Subject: RE: Ksh Misbehaves - Needs The Nanny Try echo "1\n2\n3" > cat.file for i in `cat cat.file` do case ${i} in 1) X=3DIN ;; esac done -- //www.freelists.org/webpage/oracle-l