This is actually the exact behavior of the old code and is actually correct. It checks specifically for an existing - so it can handle it correctly. Using arraystarter will miss the case where the user does not enter a space after the dash.