Perry scored his second goal of the game after Avalanche forward Mikko Rantanen was called for high-sticking Max Jones with 2:21 left. Ryan Getzlaf was in the left face-off circle when he passed through the slot to Nick Ritchie, whose shot deflected off the far post for Perry to tap it in.
"It was just lying there for me," said Perry, who had one goal in his previous 12 games. "It's definitely nice to contribute and be a part of it. Hopefully, you score some goals at crucial times, and we came through tonight."
WATCH: [All Ducks vs. Avalanche highlights]
Hampus Lindholm scored an empty-net goal with 23 seconds remaining for the 5-3 final.
Getzlaf had a goal and two assists, Daniel Sprong had a goal and an assist, and John Gibson made 41 saves for Anaheim (29-35-9), which is 5-3-0 in its past eight games and trails the Arizona Coyotes by 10 points for the second wild card into the Stanley Cup Playoffs from the Western Conference. The Ducks were coming off a 6-1 loss at the Coyotes on Thursday.
"We are where we are in the standings," Getzlaf said. "That was our fate that we built. It was our opportunity to play the way we want to and understand what it takes to play in this league night after night."
Rantanen, Nathan MacKinnon and Sven Andrighetto scored, and Semyon Varlamov made 32 saves for the Avalanche (30-29-12), who are 2-5-0 in their past seven games and trail the Coyotes by five points.
"Yeah, there's still a possibility (of making the playoffs)," Colorado coach Jared Bednar said. "As long as there are games left (11), we still got a chance. Until we're mathematically eliminated, we have a chance."