in reply to Round down to '.5' or '.0'

split is not working the way you expect it to in your code because the first argument to split is a regular expression. Since "." is a special character in a regex, it must be escaped. I think this does what you expect:
my ( $int, $float ) = split /\./, $num;