http://qs321.pair.com?node_id=456350


in reply to Handling both string and numeric comparisons

You can force the numeric context for your string in the following fashion:
if (0 + $param == 5) { ... }
This will execute and provide the comparison operation that you desire without error or warning. Where $param is a string, the result of the inner operation is zero.

 

perl -le "print unpack'N', pack'B32', '00000000000000000000001000000000'"

Replies are listed 'Best First'.
Re^2: Handling both string and numeric comparisons
by Roy Johnson (Monsignor) on May 12, 2005 at 12:01 UTC
    If you use warnings;, you will get a warning:
    Argument "five" isn't numeric in addition (+) at try.pl line 6.
    You will not get a warning for doing string comparison on a number, though.

    Caution: Contents may have been coded under pressure.