Brown (2-4, 1-2 Ivy League) ended a three-game losing streak against Cornell (1-5, 0-3) and has won two of its last three games following a three-game skid to start the season.
The Bears scored three touchdowns in the final 7-1/2 minutes with Perry throwing a 19-yard pass to Hayes Sutton to end a 16-play, 80-yard drive for a 35-30 Brown lead.
Cornell took a 38-35 lead when Jameson Wang threw a 22-yard scoring pass to Curtis Raymond III with 4:17 left. The Bears responded with Jordan DeLucia's 56-yard touchdown run with 2:17 to go.
The Big Red took their last lead when Richie Kenney threw a 25-yard score to Thomas Glover with 1:59 left.
Perry overcame three interceptions to finish with 280 yards passing and 80 yards rushing with a score on the ground. Sutton caught three touchdown passes for Brown.
Wang threw for 121 yards and two scores and rushed for 101 and scored once.
The two teams combined for 1,081 yards.
More AP college football: https://apnews.com/Collegefootball and https://twitter.com/AP-Top25.
Sign up for the AP's college football newsletter: https://apnews.com/cfbtop25
Copyright 2023 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.