Perera smashed 57 off 37 balls and Dilshan remained unbeaten on 59 off 49 balls as Sri Lanka, the top-ranked Twenty20 side in the world, surpassed New Zealand's 142-7 with 13 balls to spare.
The pair put on 96 for the second wicket after veteran Mahela Jayawardene fell LBW to Mitchell McClenaghan for three in the second over.
Perera hit six fours and two sixes, while Dilshan struck eight boundaries. The defeat ended New Zealand's short limited-overs tour of Sri Lanka, which was marred by bad weather.
The first Twenty20 match at the same venue on Tuesday was washed out. The preceding one-day series was drawn 1-1 with one game rained off.
New Zealand's innings, after they were sent in to bat by Sri Lankan captain Dinesh Chandimal, revolved around a fighting 34 off 25 balls by Luke Ronchi.
The Black Caps were reduced to 62-4 in the 11th over before Ronchi led a rescue act, adding 31 for the fifth wicket with Colin Munro (17) and 45 for the sixth with Nathan McCullum.
McCullum smashed 26 off 16 balls with three boundaries, while Ronchi hit three fours and a six.