Ed Jovanovski faked a shot from the top of the right circle before passing to Perrault, who one-timed the puck off Jean-Sebastian Giguere from the tight angle for the game-winner.
Dave Scatchard also scored for the Coyotes, who won their second straight to finish the pre-season 3-4. Curtis Joseph made 27 saves in his second complete game.
Samuel Pahlsson scored the lone goal for the Ducks and Jean-Sebastian Giguere made 36 saves in his second overtime game of the pre-season. Anaheim finished the pre-season at 3-2-3.
Scatchard made it 1-0 at 11:07 of the first period, collecting a drop pass from Patrick Fischer and beating Giguere on a sharp wrist shot from the right faceoff circle.
Pahlsson tied the game at 4:36 of the second when his shot from the left faceoff circle trickled through Joseph's pads.
The Coyotes struggled on the power play, as they have throughout the pre-season. Phoenix went 1-for-9 Saturday and finished the pre-season with four power-play goals in 63 opportunities over its seven games, two coming in Thursday's 3-2 win over Edmonton.