Duvenage, 24, started at scrumhalf for the Stormers in last week's Super Rugby win against the Sharks, but has struggled to hold down the No 9 jersey since missing most of last year's Currie Cup due to a broken leg.
His absence saw the emergence of Nic Groom and Louis Schreuder, who made it tough for Duvenage to get a starting spot this year.
Duvenage, who boasts 56 Super Rugby caps and 51 provincial caps, is one of seven new signings announced by the French club on Saturday.
Perpignan - who are challenging for a place in the end-of-season title playoffs lie seventh at present, six points adrift of Montpellier who occupy the last playoff position with two games remaining - also announced the arrival of flyhalf Camille Lopez from Top 14 rivals Bordeaux-Begles.
Also arriving at the 2009 champions - who are also in the European Challenge semi-finals - are props Romanian Ion Paulica from recently-relegated English Premiership side London Welsh and Georgian Giorgi Jgenti from Montpellier.
Australian lock Justin Purll is coming with Lopez from Bordeaux while wings, South African Wandile Mjekevu and Fijian Watisoni Votu, are joining from the Sharks and English Premiership side Exeter respectively.
Mjekevu played Super Rugby for the Lions in 2010 and 2011. He represented College Rovers in this year's SARU Community Cup.