The deal is for $2.6 million over two years, a source told ESPN.com.
The 27-year-old forward, off to a great start with seven points (4-3) in five games this season, was slated to become an unrestricted free agent July 1.
Peverley put up 35 points (13-22) in 39 games -- both NHL career-highs -- after arriving in Atlanta from Nashville last season.
He is earning $500,000 this season.
Pierre LeBrun covers the NHL for ESPN.com.