[...] # read one byte read($fh, $buffer, 1); if(defined($buffer)) { # get an unsigned char my $v = unpack("C", $buffer); # sum the squared distance from the theoretical mean $sse += ($v-127.5)**2; $cnt++; } else { print "No byte here\n"; } [...] #### OUTPUT: root@node:/srv/perl# ./dba2.pl dbFSrms: -20.9475641203622, dba: 89.0524358796378 dbFSrms: -21.662467195052, dba: 88.337532804948 dbFSrms: -21.5176778028847, dba: 88.4823221971153 dbFSrms: -24.4135001203418, dba: 85.5864998796582 dbFSrms: -23.0140885363105, dba: 86.9859114636895 dbFSrms: -18.5448040737999, dba: 91.4551959262001 dbFSrms: -21.636493545482, dba: 88.363506454518 dbFSrms: -20.3636900956917, dba: 89.6363099043083 dbFSrms: -21.3307953726968, dba: 88.6692046273032 dbFSrms: -22.1928440805489, dba: 87.8071559194511 [...]