in reply to Problems with chomp

I'll second ikegami's assessment that you're probably working with a file that uses Windows line endings (\r\n) on a system that uses unix-style line endings (\n). In that circumstance, chomp (or s/\n// on any system) will remove only the \n (line feed, which moves the cursor to the next line and, on unix-type systems, also implicitly returns the cursor to the beginning of the line), leaving you with a bare \r (carriage return, which returns the cursor to the beginning of the line, but does not move it to the next line), causing the text which would have otherwise been on the second line to instead overwrite the first line.

Assuming your representation of the output is accurate, it appears that $summaryFile may contain both an embedded end-of-line (producing the bare \r in the middle of your text) and a second end-of-line at the end of the string (producing the blank line between the two debug prints). In such a case, s/\n// will only remove the first \n, while chomp will only remove the second. Use s/\n//g (or s/\r?\n//g) to remove all line ends if you're actually getting more than one in your input data.