http://www.perlmonks.org?node_id=173775


in reply to alpha vs alpha numeric

Yes, i'm checking for an exact match. i tried with Q, no difference. there aren't any characters besides alpha and numeric. Thanks again.

Replies are listed 'Best First'.
Re: Re: alpha vs alpha numeric
by strat (Canon) on Jun 13, 2002 at 11:40 UTC
    Maybe you could split up the line into two statements to find the problem easier:
    if ($ref->{prodname} =~ /$value/) { # worked } elsif($ref->{key1} =~ /\Q$value\E/) { # worked }
    For the next step, try to replace /\Q$value\E/ with /^\Q$value\E$/<P> If it still works, the only possibility that comes into my mind are newlines (e.g. if you read something from a file or STDIN) in either $ref->{...} or $value. You can remove them with chomp( $ref->{...} ) or the like.

    Then, $ref->{...} eq $value might work as well.

    If you need case insensitive comparisons, try $ref->{...} =~ /^\Q$value\E/i, or in the next step:
    if (lc ( $ref->{...} ) eq lc($value) ) {

    Best regards,
    perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"