Changed `print` to not terminate on broken pipe

Ending on broken pipe is usually not the desired behavior and it inconveniences
the user by forcing them to handle the `()` return value