in reply to subtraction not working right

Hmm...

Are you sure your values are as you say they are before the -= op?

$ cat tam #!/usr/bin/perl $cid = 1; $c{$cid}{total} = 194.55; $tp = 194.55; $c{$cid}{total} -= $tp; print "new val: $c{$cid}{total}\n"; $ perl tam new val: 0
$/ = q#(\w)# ; sub sig { print scalar reverse join ' ', @_ } + sig map { s$\$/\$/$\$2\$1$g && $_ } split( ' ', ",erckha rlPe erthnoa stJu +" );