Here's a stupid bug.
Suppose you want to check if a number is either 70 or 73, and your duct-tape-and-chewing gum production environment is stuck in the stone age without the smart-match operator.
You might be tempted to write
foo() if $num =~ /^70|73$/, as I did. Oops. That will match 70 and 73, but also anything that ends in 73, like 173 or 273 or foo73.
/^(?:70|73)$/ fixes it.
The moral of the story: life sucks without smartmatch.