Left-armer Perera returned career-best figures of 3-23 and Maharoof bagged 3-30 to help skittle Bangladesh for a meagre 118 in 35.5 overs after the home side had elected to bat on a good batting pitch here on Monday.
Sri Lanka reached their target with 25.5 overs to spare. Captain Mahela Jayawardene (37 not out) and his deputy Kumar Sangakkara (50) made the task easy before some quick wickets fell towards the end.
For Bangladesh, former skipper Khaled Mahmud was the only batsman to offer resistance, making 36 in his last international appearance.
Only two other batsmen, Aftab Ahmed (21) and Alok Kapali (19 not out), reached double-figures to leave home fans at the new international venue disappointed.
Bangladesh, who have lost all of their 15 one-dayers against Sri Lanka, were rattled by Maharoof and Perera with the new ball.
Maharoof had opener Shahriar Nafees and Mohammad Ashraful caught behind and trapped Rajin Saleh leg-before with one that came in sharply.
Ahmed jumped out and missed the line of the ball to gift the first wicket to Perara who then dismissed Khaled Mashud as Bangladesh were reduced to 37-5 and in danger of falling below their lowest total of 76.
Dilhara Fernando removed captain Habibul Bashar to make it 51-6 before Mahmud and veteran Mohammad Rafique figured in a 31-run stand for the seventh wicket.
Perera later came on to dismiss tailender Mashrafe Mortaza (six) to better his previous best of 3-55 on debut against England in 1999.
Fernando and left-arm spinner Sanath Jayasuriya finished with two wickets each.
Jayasuriya, who has not been named in the squad for an upcoming two-Test series, managed just 13 runs with the bat as he played a delivery from paceman Mortaza on to the stumps.
His opening partner Jehan Mubarak (four) too fell early to Syed Rasel.
Sangakkara and Jayawardene then added 70 for the third wicket before Sangakkara was caught at deep mid-off off leg-spinner Alok Kapali after striking seven fours and a six.
But his wicket was followed by those of Chamara Kapugedera and Tillakaratne Dilshan, both victims of left-arm spinner Rafique, as Sri Lanka fell from 111-2 to 117-5 in the space of 20 deliveries.
"We made some silly mistakes towards the end. Chasing small totals can be dangerous at times," said Jayawardene. "The good part for us was that our pacers bowled their hearts out."
Bangladesh skipper Habibul Bashar felt some more runs could have changed the complexion of the game.
"Our top-order disappointed. The match could have been interesting if we had more runs on the board," he said.
Sri Lanka, who earlier this month made the finals of a tri-series in Australia also featuring South Africa, rested ace spinner Muttiah Muralitharan, seamer Chaminda Vaas and all-rounder Russel Arnold for the one-dayers.
The second match will be played here on Wednesday and the final one-dayer will be held in Chittagong on Saturday. The one-day series will be followed by Tests in Chittagong and Bogra.