On Sunday, 20 September 2015 at 20:17:37 UTC, Dandyvica wrote:
My file is made of 10 lines:
cat numbers.txt
1
2
3
4
5
6
7
8
9
10
╰─$ wc -l numbers.txt
CR/LF can be interpreted as line _dividers_, so if you have CR or
CR/LF at the end of line 10, really here is line 11 which is
empty. Remove end of line symbols at line 10 and you will have
expected output:
before readln eof=false, line=<1>, after readln eof=false
before readln eof=false, line=<2>, after readln eof=false
before readln eof=false, line=<3>, after readln eof=false
before readln eof=false, line=<4>, after readln eof=false
before readln eof=false, line=<5>, after readln eof=false
before readln eof=false, line=<6>, after readln eof=false
before readln eof=false, line=<7>, after readln eof=false
before readln eof=false, line=<8>, after readln eof=false
before readln eof=false, line=<9>, after readln eof=false
before readln eof=false, line=<10>, after readln eof=true
p.s. it's good style to check input parameters, even for most
simple cases.