I never give money to a homeless person, mainly because I really don't know what they will use it for. Most always say they want the money for food. So, instead I just offer to take them to any nearby restaurant of their choosing and I will pay for a meal. If they are sincere they will take me up on it and I accompany them to whichever place they want to go. Most want to go to someplace like MacDonald's so I can pay right after they get their order. If they do not take me up on the offer then I assume they were not sincere. A friend and I used to get into huge arguments because she thought it unfair that I would tell them what they had to do with the money. However I felt that was the way I could sort of ensure that they would not spend it on liquor or drugs.
But I try to have $20 in various bills on me.