Center Tyler Bozak is also landing in St. Louis, getting a three-year deal with an average annual value of $5 million.
Perron was selected by St. Louis in the first round of the 2007 draft and spent the first six years of his career with the Blues. After being traded away in 2013, he signed as a free agent with St. Louis in 2016 but was taken in the expansion draft by the Vegas Golden Knights.
Like James Neal, Perron was a prime candidate to be traded at the deadline as expansion Vegas planned to stockpile assets. But then the Golden Knights kept winning.
Perron had a career-high 66 points in 70 regular-season games and added nine points in 15 playoff games as Vegas lost to Washington in the Stanley Cup Final.
Bozak has spent his entire career with the Maple Leafs after signing an entry-level contract with Toronto in April 2009. He played this past season on the final year of a five-year, $21 million deal.
He has been a steady contributor for the Maple Leafs over the years, consistently producing double-digit points and assists each season. However, his 2017-18 numbers (11 goals, 32 assists) were down from 2016-17, when he set career highs in assists (37) and points (55).
Bozak was one of six unrestricted free agents for the Maple Leafs this season, a group that also included James van Riemsdyk -- who is headed to Philadelphia.