"It's going to be a hot day and I've been wearing him out," Yost said.
Perez started 83 of the previous 93 games and his workload has been especially heavy lately.
"Salvy's played 27 games in the last 29 days. We've had two days off," Yost said. "It's a huge game, but he's getting worn down, and that's my fault because I play him so much. But with the All-Star Game coming up, he's not going to have much of a break, so we'll take some of the load off him."
Backup Brett Hayes started instead, but Perez pinch-hit for him in the seventh inning and was intentionally walked. Perez caught the last two innings of the Royals' 5-2 victory.
Lorenzo Cain, who's had weary legs, also was out of the starting lineup, but he pinch-ran for Raul Ibanez in the seventh and finished the game in right field.
Dick Kaegel is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.