The bug is not "accent in variable"
The bug is that in second eval the perl lexer can't parse normal variable anymore...Eval is useful to execute buggy code ... that's why i use it, because the code comes from user and he can always put "Unrecognized character"
And your are rigth , the way to solve the bug "accent in variable" is this way :
use Unicode::String;
my $code1='my $var_with_é_accent=5;print "var is $var_with_é_accent";'
+;
$code1="use utf8;$code1";
$code1=Unicode::String::latin1($code1)->utf8;
print "\nEval buggy code\n";
eval "$code1";
print "ERR = $@" if ($@);;
print "DONE\n";
my $string;
my $code2='$string="new eval done";';
print "\nEval good code\n";
eval $code2;
print "ERR = $@" if ($@);
print "string is : $string\n";
print "DONE\n";