Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: All Calculations Done with One Variable Give Integer Answers

by syphilis (Canon)
on Sep 23, 2013 at 23:38 UTC ( #1055406=note: print w/ replies, xml ) Need Help??


in reply to All Calculations Done with One Variable Give Integer Answers

Hi,

Could you, at some point in your code where $gap is producing this "integer" behaviour, insert the following piece of code:

use Devel::Peek; Dump($gap);
and then provide us with the output of that Dump().

$gap = "$gap.00";


I suspect that you'll get the same change in behaviour by doing simply:
$gap = "$gap";
Cheers,
Rob


Comment on Re: All Calculations Done with One Variable Give Integer Answers
Select or Download Code
Re^2: All Calculations Done with One Variable Give Integer Answers
by HalNineThousand (Beadle) on Sep 24, 2013 at 06:09 UTC
    I'm not clear whether I should try dumping after I get $gap (now $mins in the code I've added) from the module or before that. But you are right. Just using quotations is enough to make it change behavior. With that known, can you tell me just what is happening and if that's a reliable hack?

      The line $mins = "$mins.00"; turns the Math::BigInt object into a standard Perl scalar. If you inspect $mins using Data::Dumper before and after $mins = "$mins.00"; you get:

      $VAR1 = bless( { 'value' => [ 43200 ], 'sign' => '+' }, 'Math::BigInt' ); $VAR1 = '43200.00';

      So (with hindsight!) had you used Data::Dumper as a first step to see what's going on, you would have been told immediately. But this is only with hindsight...

        Yes, with hindsight! Funny how often we get the answer and then realize that the right 1st step would have solved it. Thank you!
        Perhaps this time it is "Hindsight", but next time it could be "Lesson Learned", "Experience", "Defensive Programming", or, Monastary forbid, a "Good Engineering Practice".

        This incident has added a rather large stone on the scale which was already precariously close to tipping in favor of switching to the use of Data::Dumper over my rather obsolete and unrobust homespun debug module from longer ago than I'd care to admit.

        Thanks for the analysis and summary. Thanks to the OP for posting -- and clarifying -- the problem.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1055406]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2014-08-30 18:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (293 votes), past polls