It has turned out that the pack/unpack problem which I had the other day really was a typo problem a few steps back from the unpack command. The offending line was: local( $theDirectory, $crNumber ) @_; which should have been: local( $theDirectory, $crNumber ) = @_; Because of the above, the information which was coming over got lost causing the index into the array for cr information to malfunction. Thanks to everyone who looked at the code for me. My fault! :-/