I'm trying to write a program to check if a number is a power of 5, but I came across a weird problem. Bellow is a code which illustrates my issue:

`my $x = 125;
my $l = log($x) / log(5);
print "LOG == $l\n";
print "int(LOG) == ", int($l), "\n";
print "Are equal: ", ($l == int($l)) ? "true\n" : "false\n";
`

It prints:

`LOG == 3
int(LOG) == 3
Are equal: false
`

For

`$x = 25` it works as expected, but for

` $x = 125` (and probably other numbers), it acts really weird. It says that

`3 != int(3)`. I'm wondering how is this possible... Is there some explanation for this?

Thank you