As presented, your code won't run:
syntax error at mick2020.pl line 17, near "}" Execution of mick2020.pl aborted due to compilation errors.which isn't a good start.
AFAIKS the problem is that before the if you've chomped the input line, but in the print after the if you don't restore the line ending. (Though you do at the end, inside the if.)
This appears to do what you seem to want:
Noting that the test for whether the line ends in " allows for all kinds of trailing whitespace on the line -- not just the line ending. Also, it only removes [\r\n] at the end of the lines it concatenates. Your code was smacking [\r\n] everywhere, except on lines that ended with " -- which may, or may not, have been deliberate.while (<DATA>) { while (($_ !~ /"\s*$/) && !eof) { s/[\r\n]+$// ; $_ .= ' '.<DATA> ; } ; print $_; } __DATA__ "data", "data" ,"data", "data","data", "data" "data", "data" ,"data", "data with new line ", "and some more! ","data", "data" "data", "data" ,"data", "data","data", "data" "tada", "tada
In reply to Re: Reading Multiple lines
by gone2015
in thread Reading Multiple lines
by mick2020
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |