Thanks for the link. I didn't see anything in there about normalizing the source code in particular, but did try a test case with the 2018.05 version of Perl 6 with good results, in case anybody is interested:
$ cat t.p6
#!/usr/bin/env perl6
my $charé = "asdf";
if $charé {
say "It Works!";
}
$ perl6 t.p6
It Works!
The source:
$ grep \$char t.p6 | od -c
0000000 m y $ c h a r 303 251 = " a
+s
0000020 d f " ; \n i f $ c h a r e 314 20
+1
0000040 { \n
0000043
After parsing:
$ perl6 --target=parse t.p6 | head | grep \$char | od -c
0000000 m y $ c h a r 303 251 = " a
+s
0000020 d f " ; \n i f $ c h a r 303 251
0000040 { \n - E X P R : m
+y
0000060 $ c h a r 303 251 = " a s d
+f
0000100 " \n
0000102
|