Seinen ersten internationalen Wettkampf bestritt Perl 2001 beim Continental-Cup im heimischen Campra. Dort konnte er sich jedoch nur im hinteren Teil des Feldes platzieren. In den folgenden Jahren steigerte er seine Leistungen kontinuierlich und wurde so 2003 für die Juniorenweltmeisterschaften in Sollefteå nominiert. Über 30 Kilometer Freistil (Massenstart) belegte er einen guten zwölften Platz und über 10 Kilometer klassisch den 23. Platz. Ein Jahr später konnte er bei den Juniorenweltmeisterschaften im norwegischen Stryn diese Ergebnisse deutlich verbessern, gewann über 30 Kilometer klassisch (Massenstart) die Silbermedaille und belegte über 10 Kilometer Freistil den neunten Platz. Mit dem Schweizer Team wurde er Achter. Auch im Continental-Cup steigerte er seine Leistungen und konnte mit mehreren Top-Ten-Resultaten den zweiten Platz in der Gesamtwertung erkämpfen. Im März 2005 startete er erstmals im Skilanglauf-Weltcup. In Falun wurde er über 30 Kilometer Freistil 49. von 71 Startern. Dieses Ergebnis konnte er ein Jahr später mit Platz 35 deutlich verbessern. Bei der neu eingeführten U23-Weltmeisterschaft erreichte er 2006 in Kranj über 15 Kilometer klassisch den 12. Platz.
Der Durchbruch im Seniorenbereich gelang Perl in der Saison 2006/07, als er bei seinem dritten Weltcup-Einsatz im heimischen Davos vollkommen unerwartet den zehnten Platz belegen konnte. Dieses Resultat brachte ihm die Nominierung für die Nordische Skiweltmeisterschaft 2007 in Sapporo ein. Dort wurde er 29. über 15 Kilometer Freistil und 30. im Verfolgungswettbewerb sowie Zehnter mit der Schweizer Langlaufstaffel. Bei der anschliessenden U23-Weltmeisterschaft in Tarvisio belegte er beim Sieg seines Landsmannes Dario Cologna über 15 Kilometer Freistil den fünften Platz. Im Verfolgungswettbewerb ersprintete er hinter Cologna die Silbermedaille. Seit der Saison 2007/08 war Perl festes Mitglied der Schweizer Weltcup-Mannschaft. Gleich in seiner ersten Saison konnte er regelmässig Weltcup-Punkte in Distanzwettbewerben erlaufen. Auch in der Saison 2008/09 setzte Perl wie die gesamte junge Schweizer Mannschaft seinen Aufwärtstrend fort. Bei den Weltmeisterschaften 2009 im tschechischen Liberec wurde er 26. im Massenstartrennen über 50 Kilometer, während er mit der Staffel den siebten Platz belegte. Bei den Olympischen Winterspielen 2010 im kanadischen Vancouver wurde er im Rennen über 15 Kilometer in der klassischen Technik 17., im Verfolgungsrennen über 30 Kilometer 20. und mit der Schweizer Langlaufstaffel Zehnter.
Bei der Tour de Ski 2010/2011 erreichte Curdin Perl hinter dem Schweizer Dario Cologna, dem Norweger Petter Northug und dem Tschechen Lukáš Bauer den vierten Platz, wodurch er sich in der Weltspitze etablierte. Trotzdem wurde er bei den Weltmeisterschaften 2011 im norwegischen Oslo nur im Massenstartrennen über 50 Kilometer, in dem er 44. wurde, und in der Staffel, mit der er als Neunter einkam, eingesetzt. Nach einer schwierigen Saison 2011/12 belegte Perl Ende November 2012 beim Saisonauftakt im schwedischen Gällivare einen 11. Schlussrang über 15 Kilometer in der freien Technik. Bei den Weltmeisterschaften 2013 im Val di Fiemme belegte er den elften Platz über 15 Kilometer in der freien Technik, den 14. Platz im Skiathlon und den 32. Rang im Massenstart über 50 Kilometer, während er mit der Staffel Sechster wurde. Bei den Olympischen Winterspielen 2014 im russischen Sotschi wurde er im Massenstartrennen über 50 Kilometer Zwölfter, über 15 Kilometer in der klassischen Technik 22. und im Skiathlon 26., während er mit der Schweizer Langlaufstaffel den siebten Platz belegte.
Bei den Weltmeisterschaften 2017 im finnischen Lahti wurde er im Massenstartrennen über 50 Kilometer 54. und verpasste als Schlussläufer der Schweizer Staffel als Vierter nur um 0,2 Sekunden hinter der schwedischen Mannschaft knapp seine erste WM-Medaille. Für die Schweizer wäre es die erste Staffelmedaille seit den Olympischen Winterspielen von 1972 gewesen. Sein bisher letztes Weltcuprennen lief er am Silvestertag 2017 im Rahmen der Tour de Ski 2017/18 in Lenzerheide, als er im Rennen über 15 Kilometer 65. wurde. Seither tritt er noch vereinzelt im Worldloppet Cup an.