Matt Cain pitched the 22nd perfect game in major league history and first for the Giants, striking out a career-high 14 and getting help from two spectacular catches to beat the Houston Astros 10-0 on Wednesday night, according to an ESPN.com report.