After a scoreless overtime, Nick Bonino opened the shootout with a goal off Predators goalie Pekka Rinne, but Craig Smith kept the tiebreaker alive with a tally against Viktor Fasth in the second round.
The next shooter, Perry, put the Ducks back on top with a forehand-to-backhand move, and Gabriel Bourque missed the net on the Predators' final try, securing the best six-game road trip in Anaheim's franchise history.
Matt Beleskey scored and Patrick Maroon added his first NHL goal for the Ducks.
Fasth improved to 4-0 in shootouts and 8-0 on the season, turning aside 32-of-34 shots.
Rinne ended with 20 saves.