in reply to Interpret $? variable
Something other than "0" usually means "Oops - problem with an error code".
The error code is deterministic, but depends upon the error codes for that subroutine.