[...] # 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"; } [...]