Perron's first goal capped a four-goal first period for the Blues, who won their second consecutive game after shaking off a five-game losing streak.
Alexander Steen notched a goal and an assist for the visitors. Rookie goaltender Jake Allen turned in 30 saves.
Calgary goalie Leland Irving was pulled at 4:07 of the first period after allowing two quick goals to Jaden Schwartz and Patrik Berglund. Joey MacDonald, who was claimed off waivers from Detroit Monday, made 18 saves in relief.
Glencross cut the St. Louis lead to 4-2 at 2:46 of the third period but Perron answered at 4:08 with his second goal of the evening.