perl 3.0 patch #19

Brandon S. Allbery KB8JRR/KT allbery at NCoast.ORG
Sun Aug 12 01:49:34 AEST 1990


As quoted from <9097 at jpl-devvax.JPL.NASA.GOV> by lwall at jpl-devvax.JPL.NASA.GOV (Larry Wall):
+---------------
| System: perl version 3.0
| Patch #: 19
| 
| 	of the available fields.  In unpack, if you precede a field
| 	spec with %<n>, it does an n-bit checksum on it instead of the
| 	value itself.  (Thus "%16C*" will checksum just like the Sys V sum
| 	program.)  One totally wacked out evening I hacked a u format
| 	in to pack and unpack uudecode-style strings.
+---------------

You're feverish --- go take a nap.  ;-)

+---------------
| 	If errno == 0, the $! variable returned "Error 0" in a string
| 	context, which is, unfortunately, a true string.  It now returns ""
| 	in string context if errno == 0, so you can use it reasonable in
| 	a conditional without comparing it to 0:  &cleanup if $!;
+---------------

I posted about this before, but our news system was hosed so it didn't get out.

I disapprove of this change.  errno is *not* a good way to check for an error;
what will someone do if there was no error but ($! + 0) == ENOTTY because of
stdio?  This is a classic C logic error, and this change legitimizes it as a
Perl paradigm even though it is still a logic error.  IMHO, of course.

++Brandon
-- 
Me: Brandon S. Allbery			    VHF: KB8JRR/KT on 220 (soon others)
Internet: allbery at NCoast.ORG		    Delphi: ALLBERY
uunet!usenet.ins.cwru.edu!ncoast!allbery    America OnLine: KB8JRR



More information about the Comp.sources.bugs mailing list