Giving to Others

Every time I’m in my car and drive up to an intersection with a beggar, I’m caught in a moral dilemma, namely, whether or not to give something such as food or small change. I feel this to be a dilemma for the following reasons: First, if I’m giving money, I don’t know whether or not its going to be used for good or for vices such as drugs and alcohol, in which case I’m not helping the person at all. But second and more importantly, by giving food or money, am I not teaching the beggar to keep coming back to beg, and thereby similarly exacerbating his/her condition? (I know if I offered them a job this would not be the case, but I’m not in a position to do so yet). Third, if I’m giving out of guilt, then I give to assuage my own guilt, and am thus ultimately thinking of myself and not what’s best, in the long term, for the beggar. I find myself confused and not knowing what to do each time I am in this situation. I would be grateful for any perspectives you may be able to offer.