Financial terms were not immediately available, but the deal is for one year, the source said.
A first-round pick of the Packers in 2012, Perry had 3½ sacks in the 2015 regular season before adding another 3½ in two playoff games.
Production has never been an issue for Perry, but availability has. He failed to play a full 16-game regular season for the fourth time in his four-year career because of injuries.
The Packers declined the fifth-year option on Perry last offseason in large part because of his injury history.
According to a source, despite Perry's signing, the Packers have not ruled out re-signing linebacker Mike Neal, who also is a free agent.
ESPN Packers reporter Rob Demovsky contributed to this report.