oh, right, forgot about that

What about the Dumper?

If i try

perl -CSD -le " print qq{use utf8;\nprint qq{I \x{2665} Perl\n};\n}; " + >foo.pl

I get

use utf8;
print qq{I ♥ Perl
};

If I run that through perltidy or your program its unchanged

cmd.exe doesn't know how to display the unicode without a chcp, but the bytes are the same

If I add to your program

use Data::Dump qw/pp /; print STDERR pp("$output_string");

I get unchanged correct result as expected

"use utf8;\nprint qq{I \xE2\x99\xA5 Perl\n};\n\n"

by default cmd.exe does not unicode

$ chcp
Active code page: 437

$ type foo.tdy
use utf8;
print qq{I ΓΦΡ Perl
};

If I change it I get a heart

$ chcp 65001
Active code page: 65001

$ type foo.tdy
use utf8;
print qq{I ♥ Perl
};

In reply to Re^3: My PerlTidy utility is choking on non-ASCII characters, help me figure out why? by beech
in thread My PerlTidy utility is choking on non-ASCII characters, help me figure out why? by Cody Fendant

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":