I am performing some basic arithmetic on some variables and then using
a numeric equality operator to see if it returns what I think it should
by.
I am printing out the results and sure enough it is as expected. My
problem is when I use the numeric equality operator it returns false
even though my print statement showed that it should be true. The
string equality operator works(does return true) but I am curious what
is going on that is preventing the numeric version to work. Since I am
working strictly with numbers I would like to use the numeric version.

Here is the code that I am testing with.

    use strict;

    # define some variables
    my $var_1   = 596181.10112 ;
    my $var_2   = 600;
    my $var_3     = 715793.0585;
    my $var_4  = -99.7375378599037;
    my $var_5 = 200;
    my $var_6 = 3;

    # perform some arithmetic
    my $my_num = (($var_1*$var_2)/$var_3);
    $my_num = $my_num + $var_4 - $var_5;
    $my_num = $my_num * $var_6;

    # print result
    print "my_num: $my_num\n";

    # See which equality operator works. Why does numeric version not
work?????
    if ($my_num == 600) {
        print "Numeric equality operator evaluated to true. good.\n";
    }
    if ($my_num eq 600) {
        print "String equality operator evaluated to true. \n";
    }


Thanks
Eric

Reply via email to