I have found that a great response to guys exposing themselves, leering at you, or making cat calls is to yell "You should be ashamed of that tiny little thing!" Wait till you see their faces! (However, they also get pretty pissed.)
If you want them to slink away, instead of YOU having to, you can SHOUT: "Stop harassing me!" It makes everybody look (good protection), and makes THEM embarrassed instead of us.
Submitted by Mary Beth in the Bay Area