He was born at Lamarche in the Vosges, son of Charles Perrin and wife Marie Anne Floriot, paternal grandson of Charles Perrin and wife Gabrielle Guerin, born in 1696, and great-grandson of Pierre Perrin and wife Anne Louvière. In 1781 he entered the army as a private soldier, and after ten years' service he received his discharge and settled at Valence. Soon afterwards he joined the local volunteers, and distinguishing himself in the war on the Alpine frontier, in less than a year he had risen to the command of a battalion. In Drôme, Valence, on 16 May 1791 he married Jeanne Josephine Muguet, by whom he had issue which was extinct in the male line by 1917.
For his bravery at the siege of Toulon in 1793 he was raised to the rank of général de brigade. He afterwards served for some time with the army of the Eastern Pyrenees, and in the Italian campaign of 1796–1799 he so acquitted himself at Mondovì, Rovereto and Mantua that he was promoted to be general of the division.
After commanding for some time the forces in the department of Vendée, he was again deployed to Italy, where he performed well in service against the papal troops, and took an important part in the battle of Marengo. In 1802 he was made governor of the colony of Louisiana for a short time, in 1803 he commanded the Batavian army, and afterwards he acted for eighteen months (1805–1806) as French plenipotentiary at Copenhagen. In that year he married for a second time in June at 's-Hertogenbosch to Julie Vosch van Avesaat (1781–1831), by whom he had an only daughter who died unmarried and without issue.
On the outbreak of hostilities with Prussia (the War of the Fourth Coalition) he joined the V Army Corps under Marshal Jean Lannes as chief of the general staff. He distinguished himself at the battles of Saalfeld and Jena, and at Friedland he commanded the I Corps in such a manner that Napoleon made him a Marshal of France.
After the peace of Tilsit he became governor of Berlin, and in 1808 he was created duke of Belluno (the title was extinguished in 1853). In the same year he was sent to Spain, where he took a prominent part in the Peninsular War (especially against Blake at the Battle of Espinosa, and later at the battles of Talavera, Barrosa and Cádiz), until his appointment in 1812 to a corps command in the invasion of Russia. Here his most important service was in protecting the retreating army at the crossing of the Berezina River.