[EMAIL PROTECTED] am Montag, 26. Februar 2007 18:49:
[snip]

Hi!

> use strict;
> use warnings;
>
> my $rdns="cn=Exchange Sites,cn=Proxy Views,cn=JoinEngine
> Configuration,ou=Conf,o u=InJoin,ou=applications,dc=marriott,dc=com";
>
> my $result="cn=Exchange Sites";
>
> if ($result !~ /\Q$rdns\E/six) {
>   print "\nresult: '$result'";
>   print "\nrdn: '$rdns'\n";
> } else {
>   print "String is there\n";
> }
> OUTPUT is:
> $ ./test.pl
> result: 'cn=Exchange Sites'
> rdn: 'cn=Exchange Sites,cn=Proxy Views,cn=JoinEngine
> Configuration,ou=Conf,ou=InJoin,ou=applications,dc=marriott,dc=com'
>
> Tom your code works fine. But I was tring to understand why "!~" fails
> above.
[snip]

The regex expression tries to match $rdns in $result, and not the reverse way, 
and of course you can't find a long string in a shorter one, even not if the 
shorter one is contained in the longer one.

So $rdns is never matched in $result, and since you ask if it does *not* 
match, the result is always true, and the else branch is never hit.

Dani

P.S.:
Please open a new thread when asking a new question, and answer inline or at 
the bottom, not a the top, thx :-)

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to