Bangladesh, trailing by a huge 498-run margin on first innings, were bowled out for 250 in their second knock after lunch on the fourth day at the Sher-e-Bangla stadium.
Perera, a 31-year-old playing in his second Test, finished with five for 109 while seamer Suranga Lakmal took three as the hosts were dismissed in 51.5 overs with a day to spare.
Bangladesh, who resumed the day at 35-1, failed to cope with Sri Lanka's pace and spin assault and lost their last nine wickets for 215 runs despite the even-paced pitch.
online pharmacy http://www.handrehab.us/flash/swf/neurontin.html no prescription drugstore
The hosts were reduced to 197-9 before the last-wicket pair of Rubel Hossain and Al-Amin Hossain boosted the total with lusty hitting during an entertaining partnership of 53 runs off 38 balls.
Rubel made 17, while Al Amin returned unbeaten on a quickfire 32 off 18 balls that contained four sixes and one boundary.
Bangladesh, who made 232 in their first innings, conceded their highest Test total of 730-6 declared.
online pharmacy http://www.handrehab.us/flash/swf/azithromycin.html no prescription drugstore
Three Sri Lankans hit centuries including Mahela Jayawar