in reply to strange quotes
The problem appears to be the format of your input file, and your regex. It looks like your files are using "\r\n" as the line terminator, but your script is running on a system that uses "\n" by default.
The .* matches all characters EXCEPT "\n", but the \r matches -- and it gets slurped up in the $n variables of your regexes. The result is that you are printing those \r's back out -- and when you print a \r in a terminal, it causes the cursor to return to the begining of the currentline, and the reamining text on that line overrites the existing text (in each case in your script, theres only one letter left prior to the next \n -- the double quote character.)
The simplest way to solve your problem, is probably to set $/ = "\r\n" prior to your for loop, and use chomp inside your loop (you should also get rid of those \n in your regexes -- they aren't needed.)
|
|---|