Perhaps I should underline the crux of the problem. The command unpack ("f", $stuff), _ASSUMES_ that the float is of the format used by the machine the program is running on. In this case they are not the same. That is the binary was written by a microsoft machine with non IEEE float and being read on an IEEE float machine. Both suggestions given so far do not work.