in reply to How to avoid $_ in grep
I feel that all of the above suggestions, though good, missed your original point: "I do scripts for biologists ... and they always get lost with $_." If biologists can't understand $_, then keep your code simple for them. Don't use $_, and while you're at it avoid map & grep. It's not that much harder to write out a loop, but it can make a world of difference to someone who is only a novice in perl.