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]

Reply via email to