Perron's first of the night at 17:12 of the first period came against Joey MacDonald, who took over in the Flames net for starter Leland Irving just over four minutes into the game after St. Louis scored on two of its first four shots.
Calgary tried to fight back in the second, outshooting the Blues 15-5, but was only able to solve rookie Jake Allen when Dennis Wideman ripped rising slap shot through a crowd.
The Flames scored again 2:46 into the third when Curtis Glencross was set up neatly by Jarome Iginla, but Mark Giordano's interference penalty 17 seconds later put the Blues' top-ranked power play back on the ice and St. Louis took advantage. Perron took a pass at center from T.J. Oshie and, just after crossing the blue-line, fired a wrist shot into the top corner.
Rookie Jaden Schwartz, with his first of the season, Patrik Berglund and Alex Steen also scored for St. Louis. After going winless in five, the Blues have won two in a row and will try to make it a perfect three-game road trip at Vancouver on Sunday.
Calgary lost in regulation for the first time in four games. The Flames head out on a short road trip to play at Dallas on Sunday and Phoenix on Monday.
Despite all the scoring at one end, the play that had the Scotiabank Saddledome sellout crowd of 19,289 buzzing was Allen's first-period save on a shot by T.J. Brodie.
Calgary burst into the Blues' end on an odd-man rush and, in a slick display of passing, Jiri Hudler sent the puck to Alex Tanguay in the slot, who promptly zipped it back to Hudler. He quickly fired it back across to Brodie, who was breaking in and staring at an open net.
Allen, however, darted across, reached out with his goal stick and knocked the puck out of the air with his paddle, with the puck fluttering high up in the air before the 22-year-old caught it nonchalantly with his glove to leave an exasperated Brodie shaking his head in disbelief.
Allen, making his second straight career start, finished the night with 30 saves to improve to 2-0.
MacDonald made 18 saves.
[to top of second column]
Calgary started fast Wednesday with a 4-1 lead after the first period in a 7-4 win over Dallas, but the opposite happened against the Blues, who scored four times in the opening 20 minutes.
Schwartz opened the scoring at 1:28 on his first of the year. Steen made a great play to keep the puck in at the blue line then found Schwartz behind the Flames' defense, where the rookie made a slick move to his backhand to beat Irving.
Less than three minutes later, Schwartz was at it again, this time intercepting Wideman's clearing attempt along the boards and sending a pass to Berglund in front, where he fired his team-leading seventh goal.
That brought Irving's evening to an end with the Flames rookie goaltender having stopped 2 of 4 shots he faced.
The 33-year-old MacDonald made his debut for the Flames, keeping the Blues off the scoreboard for over nine minutes before Steen scored at 13:49.
St. Louis finished 2 for 4 on the power play. It was the eighth consecutive game the Blues have connected with the extra man, going an impressive 12 for 32 over that stretch.
Calgary, which entered the night with the league's second best power play, went 1 for 4.
NOTES: The Blues announced that RW Jamie Langenbrunner had successful hip surgery. The 37-year-old is out for the season. ... Iginla played in career game No. 1,200. ... Flames D Jay Bouwmeester extended his iron man streak to 600 games. It is the NHL's longest active streak. Doug Jarvis holds the all-time mark of 964 games. ... Calgary D Anton Babchuk made his season debut.
Copyright 2013 The Associated
Press. All rights reserved. This material may not be published,
broadcast, rewritten or redistributed.