in reply to Modifying $_ in foreach (%hash)
Answered here. It talks about a sub call and @_, but the same applies to a foreach loop and the loop var ($_).