Pharma stocks rally 7% on earnings, rupee weakness; Nifty trades below 23,600