ST. LOUIS SIGNS DREW: The holdout is over for J.D. Drew, who agreed Friday with the St. Louis Cardinals on a four-year contract worth $7 million guaranteed and possibly as much as $8.5 million.

Drew, 22, was taken by Philadelphia with the second pick of the 1997 draft. The Phillies best offer was $3.1 million over four years with a $3 million team option, so he opted to play for the St. Paul Saints, an independent Class A team in the Northern League.Drew hit .341 with 18 homers and 50 RBIs last season for the Saints. He was still playing there this season, batting .386 with nine homers and 33 RBIs in 30 games. The Cardinals made him the fifth pick in last month's draft, and St. Louis general manager Walt Jock-et-ty quickly worked out a deal with Drew's agent, Scott Boras.

"If I had to do it over again, I would," Drew said after donning a Cardinals jersey at a Busch Stadium news conference. "It's all about being comfortable, and right now I'm very comfortable in St. Louis."

Drew had been seeking an $11.5 million, five-year contract with the Phillies, and could eventually exceed that deal if he lives up to his billing. He gets a $3 million signing bonus, and $375,000 in salary this year, $500,000 in 1999, $1 million in 2000 and $2 million in 2001.

REDS-METS TRADE: The New York Mets got some help for their bench Friday by trading reliever John Hudek to the Cincinnati Reds for Lenny Harris, the top pinch hitter in the National League.

Harris, 33, leads the major leagues with nine pinch hits and is tied for first in the NL with a .333 average off the bench, based on a minimum of 14 at-bats.

The Mets' pinch hitters are batting .192, ninth in the league.

The deal saves some money for the rebuilding Reds. Harris, 33, is in the second and final year of a contract that includes a $775,000 base salary and up to $150,000 in playing incentives.

Hudek, 31, was 1-4 with a 4.00 earned run average in 28 appearances for the Mets. He has a one-year contract for $499,000.

ALL-STAR EXCHANGE: Bernie Williams of the New York Yankees, sidelined by a strained right knee, will not play in next week's All-Star game in Denver and was replaced on the AL roster by Cleveland's Manny Ramirez.

Williams was one of five Yankees selected as reserves this week after baseball's top team failed to have a starter voted in by fans. The center fielder hopes to make a minor league rehab start this weekend and is expected to rejoin the Yankees after the All-Star break.

Ramirez will be one of six Indians on the AL team, managed by Cleveland's Mike Hargrove. The right fielder, who'll be making his second All-Star appearance, entered Friday night's game batting .300 with 16 homers and 64 RBIs.

On Thursday, Baltimore first baseman Rafael Palmeiro was named as a replacement for Boston's Mo Vaughn, who strained a hamstring this week.

CARDS MOVES: St. Louis Cardinals infielder David Howard was placed on the 15-day disabled list for the second time in a month on Friday after reinjuring his left shoulder.

Howard was hurt leaping for a line drive by Hal Morris in the fourth inning of Thursday night's 3-0 victory over the Kansas City Royals. He left the game the next inning.

PALMER WON'T MISS ALL-STAR GAME: Kansas City third baseman Dean Palmer, who was hit in the elbow by a pitch on Thursday night, won't miss the All-Star game after all.

After Palmer has hit by St. Louis' Juan Acevedo, the Royals said he would miss Tuesday's All-Star game in Denver. But on Friday, the team said Palmer might be back in the lineup on Sunday and will go to the All-Star game.

"He's a pretty tough character," Royals manager Tony Muser said. "We're hoping a lot of the swelling goes down today. We've got some slight optimism (he'll play) Saturday. I think there's a good chance on Sunday."

Palmer, hitting .292 with 16 home runs and 48 RBIs, is the Royals' lone All-Star representative. It will be his first All-Star game.