Posted by Jason Nugent on September 13, 1998 at 09:11:29:
In Reply to: Re: perl question, re characters posted by Jason Turner on September 13, 1998 at 04:04:08:
: : : $value = "" if ( ($name eq "something") and ($value =~ /[!a-zA-Z0-9]/));
: : The last character class here should be
: : [^a-zA-Z0-9] (the ^ represents a negated character.
: Ooops :)
: I've no excuse for that mistake. I can't even say it's different for grep, sed, awk......
It's ok - you got me down below anyway :)
: : $value = "" if ( $name eq "something && $value ~ /\W/ ));
: : Minor points on the choices of and vs &&, and =~ vs ~
: : I do believe and has a lower priority than &&. No big deal with and, but you might run into problems using its counterpart || vs or. for example:
: Yep, and does have a lower priority, so if you do remove brackets, then it would be safer to use "and" instead of &&. In thise case it didn't matter which was used. "eq" and "=~" both have higher binding.
: : about =~ vs ~ - the =~ operator tests and also assigns,
: No it doesn't.
: I think you're confusing it with $value =~ s///
: The tilde alone is not a matching operator, but performs bitwise negation.
Oh, crap - you are correct. I looked it up after I posted. Shame on me :)
: : Ah... the subtleties of perl :)
: Indeed :)
: : Jason