Defending a low total Pakistan A started well, removing both opener Shehan Jayasuriya and number-three Danushka Gunathilika with the score on just 32.
But Perera steadied the ship, sharing in a 152-run stand with Ashan Priyanjan (57 not out) before he was forced to retire hurt in the 29th over.
Perera’s innings of 114 came off just 88 deliveries, with 18 fours and a six.
Earlier, Sri Lanka A had bowled superbly to dismiss the visitors for just 203 after being sent in to bowl by Pakistan A captain Fawad Alam.
The Pakistan A skipper came to the crease with his side in trouble at 47/2, with the situation getting worse following the dismissal of Khurram Manzoor at 3/66, but he added 62 for the fourth wicket with Umar Amin, before the latter was caught and bowled by Jayasuriya for a patient 32 from 50 balls.
But Lahiru Gamage had the final say when Alam was caught by his namesake Lahiru Madushanka for an innings high score of 58, including three boundaries and a six.
Pakistan A’s wickets continued to tumble as they were bowled out in the 48th over after Tharindu Kaushal had Imad Wasim caught by Madushanka for 35.
The second one-dayer of the three-match series takes place on April 29 in Hambantota.
-Island Cricket