Okay, in the (probably forlorn) hope of beating this subject to death, let me offer a possible (post-A3/E3) position on NaN.
NaN is dead. Except perhaps under a C<use IEEE> pragma of some kind, in which case it would be a proper IEEE NaN. C<undef> with numerify to zero (it always has; and we always intended that it still would). Unary C<+> (and other numeric contexts) will produce C<undef> when attempting to convert non-numeric strings. To check for numericity of input, you'll write: $number = +<$fh> until defined $number; If you ignore the definedness, the C<undef> will just promote to zero in numeric contexts. So you can add up your column-50 numeric fields with: $sum += +unpack("@49 A3", $_) while <$fh>; and have it ignore non-numeric fields. Or you can add the fields with: $sum += +unpack("@49 A3", $_) // die "Bad data: $_" while <$fh>; and handle errors with extreme prejudice. Have I missed anything? Damian