In article <[EMAIL PROTECTED]>, John W. Krahn wrote:

> Bill Akins wrote:
>> 
>> Hi all!
> 
> Hello,
> 
>> I have this while loop in my script:
>> 
>> while (($type ne "Windows") || ($type ne "Linux")) {
> 
> Your problem is that you are using or when you should be using and.
> 
> 
>> print "Enter TYPE of server to build. Linux or Windoze [linux, windows]:
>> \n";
>> $type = <STDIN>;
>> chomp $type;
>> $type =~ tr/a-z/A-Z/;
>> if (($type eq "LINUX") || ($type eq "L")) {
>> $type = "Linux"; }
>> if (($type eq "WINDOWS") || ($type eq "W")) {
>> $type = "Windows"; }
>> }
> 
> while ( $type ne 'Windows' and $type ne 'Linux' ) {
>     print "Enter TYPE of server to build. Linux or Windoze [linux,
> windows]:\n";
>     chomp( $type = ucfirst lc <STDIN> );
>     $type = 'Windows' if $type eq 'W';
>     $type = 'Linux'   if $type eq 'L';
>     }

This has tripped me up before. The difference between "while not A AND not 
B" and "while not A OR B" I think.

Here's an 'or' version:
my $type1 = '';
while ( $type1 !~ /wisteria|lime/i ) {
   print "Enter COLOR of server. Lime or Wisteria [lime, wisteria]: ";
   chomp( $type1 = ucfirst lc <STDIN> );
   $type1 = 'Wisteria' if $type1 eq 'W';
   $type1 = 'Lime'   if $type1 eq 'L';
}








-- 
Kevin Pfeiffer
International University Bremen

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to