This seems to be related to my recent question and blog posts culminating in Why is PERLIO_F_CRLF set on the bottom-most 'unix' layer on Windows?.
A work-around seems to be to use binmode(STDOUT, ":unix:encoding(utf8):crlf");
to undo the fact that when output is to a cmd.exe
window (and only in that case) the bottom-most 'unix' layer has the CRLF flag set (in direct contradiction to perliol).
Instead of cmd.exe
, you can use ConEmu which has a lot of nice features and makes it really easy to set up a custom font (in addition to individual tabs with private settings etc).
Don't let what happens in cmd.exe
dictate anything.