I think that db_foreach and db_multirow should have different behaviors. db_foreach should be an analog to TCL's foreach, so it should clobber vars in the local namespace. db_multirow is meant to create vars in a specific namespace (i.e. in an array which has the name of the first argument to db_multirow), so it should *not* clobber vars in the local namespace. IMHO, of course.