in reply to While(defined(STDIN)) does not break

Even a line where you "input nothing but return" still contains the newline character. You need to close the input, usually by pressing CTRL+D (on unixish operating systems) or CTRL+Z (and then enter) (on Windows).

Or you could change your loop to exit on a line that contains nothing but the newline character(s), which likely is more what you wanted.

  • Comment on Re: While(defined(STDIN)) does not break