Given a string and a hash returned by
openssl, why using
== doesn't match them correctly but
Background question: How can I force a script to use more resources?
The binary operator, ‘=~’, has the same precedence as ‘==’ and ‘!=’. When it is used, the string to the right of the operator is considered an extended regular expression and matched accordingly (as in regex3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the regular expression is syntactically incorrect, the conditional expression’s return value is 2.
Hence your comparing for equality versus for a regular expression match.