while ( $theSubBuild ne 'sci.bld' || 'esel.bld')
is equivalent to
while ( $x ne 'ya' || 1 )
I assume you meant for the loop to stop if $theSubBuild is equal to either of your strings. What Perl is doing is seeing if either of the expressions on both sides of the || are true. 'esel.bld' will always be true.
What you probably want is:
while ( $theSubBuild ne 'sci.bld' && $theSubBuild ne 'esel.bld')
Update: Fixed a bit of spelling and added comments since I was editing anyways.
I'm uneasy about the grep system call into a file and then reopening the file. I'd rather just read from a pipe if I was going to use the system grep through a bunch of files.
I tend to just read the files and get my info that way and leave the OS out of it.
In reply to Re: exit the loop corrected
by lemming
in thread exit the loop corrected
by amoura
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |