"It really felt good," Perez said. "Thank God I'm back. I just want an opportunity to contribute."
Perez also was key defensively, helping starter Danny Duffy carry a no-hitter through 5 2/3 innings.
"Anytime you get a player of that caliber back," Duffy said, "it gives everyone a spark."
Perez reported that he feels 100 percent recovered. The intercostal is a series of muscles inside the rib cage that help support the chest wall.
"I'm excited," Perez said. "I've been waiting for this day since the day I got hurt. I feel really good."
Royals manager Ned Yost said he will bring Perez along with caution for the first 10 days or so.
"We'll have a couple of built-in recovery days," Yost said. "He'll go [Tuesday and Wednesday], then probably have Thursday's day game off. Then go Friday and Saturday and have Sunday off. We'll do that just to make sure we're not pushing it."
Perez began taking live batting practice last weekend and said he felt like he was getting close to coming off the disabled list then.
"I felt ready two days ago," Perez said. "[Trainer] Nick [Kenney] said I got to test the swing a little more. I did that, and it was good."
Perez said it was difficult not being able to contribute as the team went 6-9 in his absence.
"It's hard," he said. "But happy to be back with the boys. Everything's good right now.
"All we can do is concentrate on what happens today. You can't change the past."
The Royals sent catcher Cam Gallagher back to Triple-A Omaha to make room for Perez.
The Royals also activated outfielder Paulo Orlando (fractured shin) from the 60-day disabled list and optioned him to Omaha. To make room on the 40-man, the Royals placed right-hander Miguel Almonte on the 60-day disabled list with a strained right rotator cuff.