Today I ran into a puzzler regarding how perl interprets a scalar.
The problem cropped up in a program that basically gets a large string from a database and then using
substr extracts substrings.
Some of these substrings are ASCII representations of floats, ie 0.123 or 21.654.
The odd thing is that when these values are used for calculations they will behave as if they were integers. For example multiplying a scalar, say $v2, containing 21.654 with 2 yields the result 42!!
Trying to duplicate the problem with a small testscript failed, that is it works as expected.
When checking debug printouts from the original program with a hex editor no strange/unexpected characters are found.
Any ideas someone ??
---
It's unfair to be an expert.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.