As a rule, I never give money to panhandlers. They are all, without any exception, scamming well meaning people for money.
In some cities, they are well organized, work together, and make a lot of money. Territories and shifts are staked out, and there are sometimes fights over the areas.
They all have a sad story, and it's always some combination or variation of they need gas, they lost their wallet, they are trying to get get bus fare for their wife/children/mother. They need some money to buy new clothes for a job interview. They are staying at a nearby shelter, but need money for dinner.
Bajadoc is right. Give to legitimate charities. Your money will help people, not go to perpetuate someones drug or alcohol habit.
Every major, and some smaller, city has at least one homeless shelter. They aren't luxury, but they give people a place off the streets, a bed, shower, and a meal or two. All of them ban drugs or alcohol. People who can't follow the rules are the ones we see panhandling.
I know some will think that I'm harsh and unsympathetic. I'm not, I just know that panhandlers are running a scam on well meaning people. Don't fall for it.
He went straight to the nearest liquor store or drug dealer. Give to legitimate vetted charities. Giving to people on the street perpetuates that individuals problem and encourages them to harass and scam other nice well-meaning people.