in reply to Is 'last' redundant in this code?

Normally, it is redundant. I don't think there's any possibility for an exit to fail, but I don't have Stevens handy at the moment, so I cannot check. Of course, if there's any posibility the msg subroutine gets redefined, it's not redundant.

While I would be hesitant to put a call to exit in a subroutine (but I have done it in the past), I certainly wouldn't be eagar to remove the 'redundant' last. It gives a clue that after finding key, the array isn't searched any further.

Abigail