You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix string comparisons with $] to use numeric comparison instead
The fix follows Zefram's suggestion from
https://www.nntp.perl.org/group/perl.perl5.porters/2012/05/msg186846.html
> On older perls, however, $] had a numeric value that was built up using
> floating-point arithmetic, such as 5+0.006+0.000002. This would not
> necessarily match the conversion of the complete value from string form
> [perl #72210]. You can work around that by explicitly stringifying
> $] (which produces a correct string) and having *that* numify (to a
> correctly-converted floating point value) for comparison. I cultivate
> the habit of always stringifying $] to work around this, regardless of
> the threshold where the bug was fixed. So I'd write
>
> use if "$]" >= 5.014, warnings => "non_unicode";
Note that, because some of the files do a `use integer`, the numeric
comparisons with $] a `no integer` needs to be done in a lexical scope
around the comparison, to avoid truncation to integers, which spoils
the comparisons. Hence the ugly `do { no integer ; ... }` in some places.
0 commit comments