The rupee gained 3 paise to close at 95.42 against the US dollar, supported by a weaker greenback overseas. However, foreign fund outflows, elevated crude oil prices and geopolitical uncertainties kept pressure on the domestic currency