Fawad Alam top-scored with an unbeaten 38, but eight batsmen failed to reach double figures as Pakistan crumbled in 32.1 overs in a match that will decide the 1-1 series deadlock.
It was Pakistan's lowest one-day total on Sri Lankan soil, falling below the 116 they made against New Zealand at the same venue in 2003.
An hour-long rain interruption after Pakistan slumped to 81-8 in the 26th over forced the umpires to reduce the game to 48-overs-a-side.
Prasad, who replaced the off-form Nuwan Kulasekara, then had the other opener, Ahmed Shehzad, caught at mid-on to make it 14-2.
More From This Section
The third wicket fell at the same total when Lasith Malinga had Mohammad Hafeez leg-before for one as the TV umpire upheld the decision following a review by the batsman.
It soon became 55-5 by the 19th over when skipper Misbah-ul Haq was run out for 18 by a direct throw from Tillakaratne Dilshan and Umar Akmal holed out off Perera for seven.
Pakistan's chances of a dramatic win rest on their spin spearhead Saeed Ajmal, who was back after missing the previous two matches to have his bowling action tested in Australia.
Ajmal flew to Brisbane after his action was reported by the umpires during the preceding Test series, which Sri Lanka won 2-0. He is allowed to play on till the results of the tests are made known.
Ajmal replaced left-arm seamer Junaid Khan in the team.