Hm, this is a strange one. While the accented variable name is important, the 'my' declaration is also important.
eval qq/my \$v\xE9/;
eval q/print $string; $string = "new value"/;
print $@ if $@;
Results in the error:
"my" variable $string masks earlier declaration in same scope at (eval 2) line 1.
Somehow $string is being declared lexical in the second eval. The specific error being triggered in the first eval (Unrecognized character \xE9) has a special case in toke.c, and I can only think this early exit is leaving the tokenizer in an odd state.
You should report this bug using the perlbug program you should have installed on your system. If you wish to include the details I've mentioned please feel free.