The Brewers announced Friday they had signed the 30-year-old Perez and were assigning him to their Triple-A affiliate in Nashville, Tennessee.
Perez was designated for assignment by the Washington Nationals on Tuesday after going 1 for 19 in 10 games with 10 strikeouts in 21 plate appearances. He played three games for the Chicago Cubs last season and went 1 for 6.
He had been a versatile performer for the Brewers earlier in his career. Perez batted .258 with 45 homers, 175 RBI and 67 steals in his 572 games with Milwaukee.
Pérez played 123 games and hit .272 with 13 homers and 34 steals in 2016. He followed that up by batting .259 with 14 homers and 13 steals in 136 games in 2017.
He has played every position other than catcher during his major-league career. That includes 211 games at third base, 191 in the outfield and 178 at second.