Nearly, but it needs to be: if ( $qs ne $secret_word_guest and $qs ne $secret_word ) ^^^ or consider
unless (grep $qs eq $_, ($secret_word, $secret_word_guest) ) { : } Cheers, Rob "John W. Krahn" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > David Gilden wrote: > > > > Hello, > > Hello, > > > in the following > > > > # Goal: check against two different passwords. > > > > #!/usr/bin/perl > > my $qs = 'c'; > > my $secret_word = 'a'; > > my $secret_word_guest = 'b'; > > > > if ($qs !~ /$secret_word_guest|$secret_word/) { > > You need boundaries for an exact match. > > if ( $qs !~ /^(?:$secret_word_guest|$secret_word)$/ ) { > > > > print "fail\n"; > > } else { > > print "go, ok\n"; > > } > > > > another version: > > > > #!/usr/bin/perl > > > > my $qs = "a"; > > my $secret_word = 'a'; > > my $secret_word_guest = 'b'; > > > > if ($qs ne ($secret_word_guest || $secret_word)) { > > if ( $qs ne $secret_word_guest or $qs ne $secret_word ) { > > > > print "fail\n"; > > } else { print "go, ok\n";} > > > > -------- > > the original works fine! > > if ($qs ne $secret_word) { > > print "fail\n"; > > exit; > > } > > > > What should happen is that if $secret_word OR $secret_word_guest does not Match $qs > > Then it should print 'Fail'. > > > > The above behaves correctly, but when I try to bring a second test, > > it fails.... > > > > I can not seem to get this to do what i want! > > Can any one show me by example what is wrong. > > > > John > -- > use Perl; > program > fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]