He pitched collegiately for the University of Miami, and was selected by the St. Louis Cardinals in the first round (42nd overall) of the 2006 Major League Baseball Draft.
Perez began his professional career in 2006 with the Swing of the Quad Cities, the Midwest League affiliate of the Cardinals.
He attended the Cardinals' 2009 spring training camp to compete for a relief pitcher spot, but had arm trouble and was returned to the minor leagues for more experience.
[3] After a breakout 2011 season that included playing in the All-Star Game and being fourth in the league in saves, on February 23, 2012, Perez strained his left oblique in spring training and was expected to miss 4–6 weeks.
In May and June 2012, Perez publicly criticized Indians fans in response to the team beginning the season last in attendance across both leagues and for being booed in a game on May 17.
[5][6] On July 1, Perez was named to his second consecutive All-Star Game as a member of the American League squad, joining Indians teammate Asdrúbal Cabrera.
[9] On January 18, 2013, the Cleveland Indians announced they had avoided arbitration with Perez, signing him to a one-year contract worth $7.3 million.
[10] On August 5, 2013, Perez blew a save to the Detroit Tigers, and after the game decided to boycott the media for the rest of the season, which led to a rocky relationship between him and the fans.
On February 5, 2015, Perez signed a minor league contract with the Milwaukee Brewers the deal included an invitation to spring training.