In these two code snippets, the "continue" keyword does quite the opposite of what it's supposed to:
PS C:\> ('a','b','c') | % { $_; continue }
a
PS C:\> ('a','b','c') | foreach { $_; continue }
a
When spelling the code out like you would in a sane scripting language, it works as expected:
PS C:\> foreach ($i in ('a','b','c')) { $i; continue }
a
b
c
Go figure.
PS C> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1