But with 1:27 left in regulation, Nick Bonino fired a wrist shot that deflected off a prone Bieksa and into the top corner of the net, forging a 3-3 tie.
With time running out in overtime, the Ducks quickly cleared the puck to Ryan Getzlaf in the Canucks' zone. He fed a pass ahead to Perry, who shoveled the puck between the pads of Eddie Lack for the game-winner.
Jonas Hiller made 17 saves for Anaheim, which continued the best home start in franchise history. The Ducks improved to 17-0-2 at Honda Center and remain the only NHL team without a regulation loss on home ice.
The victory was also the Ducks' 13th in 14 games overall.
Lack finished with 45 saves for Vancouver.