91³Ô¹ÏÍø

Keep an eye on Darick Hall, who served as a lefty power bat against right-handers when Harper went down with a broken left thumb last season. Hall, a first baseman, did his job.

Hall slugged nine homers and had a .804 OPS in 136 at-bats over 41 games and 34 starts. He started 31 games as the designated hitter and just five in the field.

In 113 at-bats games as a DH, Hall had a .766 OPS with five home runs, in 18 at-bats as a first baseman, a .985 OPS and a .833 OPS as a pinch hitter.

One of his nine home runs came off a position player and four against Washington Nationals. But Hall slugged -- 53% of his 34 hits were for extra bases (9 HR, 8 2B, 1 3B).

The lefty slug potential seems like an ideal match for the DH vs. righties.

3. New rules

MLB is implementing three significant rule changes in 2023: bigger bases, a pitch clock and the limiting of defensive shifts. The changes are intended to help inject action into the sport weighed down by the three true outcomes: home run, strikeout and walks.

Bigger bases, in theory, will make stealing bases easier and the limiting of defensive shifts should generate more hits and offense. (Four players must be on the infield with at least two infielders on either side of second base.)

But the one rule change that will have the biggest immediate impact is the pitch clock.

Here's a quick rundown of .

There will be hiccups in 2023 with the pitch clock, both for pitchers and batters.

Looking at the Statcast data from 2022, the Phillies have a few pitchers on the projected Opening Day roster who will take time to adjust -- specifically the highlighted names in the chart below.

The pitch clock is nothing new to players who played in the minor leagues last season (Falter, Painter, Sanchez), but for the veterans, it'll be a challenge.

The rule changes are nothing new, though, and the Phillies have said it will be a focus for spring training.

How quickly will Alvarado, Bellatti, Aaron Nola, et al adapt to the timer? It's certainly something to keep your eye on during spring training.

Leftovers

The bench appears set after the Josh Harrison signing, but one spot appears up for grabs: the fourth outfielder. It could come down to Jake Cave and Dalton Guthrie. ... With an extended workload due to the World Series run, will Nola and Wheeler need extra time? ... Speaking of Nola, will the Phillies and the righty ace come to terms on a contract extension? ... Which Nick Castellanos shows up, the 2022 version or the All-Star the Phillies signed?

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });