Thanks, that explains why it works that way, but I still have my doubts whether that's the sanest approach. It just seems more useful to preserve any existing $1, $2, etc., when the user expressly says they don't want these variables populated. Looking at it another way, I can't think of a situation where the current behavior provides a benefit (though this could be a failure of my imagination), whereas I can think of situations where preserving the values is useful. Anyone agree, or am I off my rocker here?