Minnesota Twins closer Glen Perkins will have season-ending shoulder surgery today, and no one is more upset about it than him.

But not because he threw only 48 pitches in two early April outings before he was forced to the sideline in a failed effort to rehab and avoid surgery. Instead, it's because he feels guilty about being paid for doing nothing. Perkins signed a four-year, $22.175 million contract before the 2014 season.

Here's Perkins' public apology for letting down his teammates, the organization and the fans:

More from FoxSports

pic.twitter.com/XhjwvtoXBy

— Glen Perkins (@glenperkins) June 22, 2016

Perkins was an All-Star in each of the previous three seasons, saving 102 games and striking out more than a batter per inning over that span.