Exercise 2: Why Both "positive" and "big" Print — Possible Solution ==================================================================== WHY BOTH BLOCKS EXECUTE ------------------------------ Per this chapter's own warn-box, PowerShell's switch runs EVERY clause whose condition matches, not just the first one - unlike most other languages, where switch stops at the first match unless you deliberately fall through. With $x = 15, both {$_ -gt 0} (15 is greater than 0) and {$_ -gt 10} (15 is greater than 10) evaluate to true, so both matching clause bodies run in sequence: "positive" first, then "big". HOW TO MAKE ONLY "big" PRINT ------------------------------ Adding break at the end of each clause body stops switch from continuing on to check later clauses once one has matched. Reordering to check the more specific condition first, then adding break, ensures only one clause fires: switch ($x) { {$_ -gt 10} {"big"; break} {$_ -gt 0} {"positive"; break} } With $x = 15 this now only prints "big", since the first matching clause's break stops the switch before the second clause is even checked. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly explains that PowerShell's switch runs every matching clause by default (not just the first), correctly identifies that both conditions are independently true for 15, and provides a correct, working fix using break (with clause reordering) to produce only the "big" output.