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]