Subject: | eval sometimes fails for UTF8 code in arguments |
Date: | Sat, 17 Mar 2018 22:55:20 +0000 (UTC) |
To: | "bug-Eval-WithLexicals [...] rt.cpan.org" <bug-Eval-WithLexicals [...] rt.cpan.org> |
From: | Bernhard Bodenstorfer <bodenstorfer [...] yahoo.co.uk> |
Environment:
Observed in Eval::WithLexicalsour $VERSION = '1.003006'; # v1.3.6
perl -vv5.26.1
Fedora Linux
4.15.8-300.fc27.i686
echo $LANG
en_GB.utf8
--------------------------------------------------------------------------------Bug description:
The attached Perl file evalutf8.pl calls Eval::WithLexicals' eval function on a code string containing three German umlaut characters ü and ä:
my $slogan = "Schüssel für Säue.";
This call results in an error:
Unmatched right curly bracket at (eval) line 10, at end of line
syntax error at (eval) line 10, near "}"
despite no curly bracket being contained in the code string.
The error goes away if any one of the three umlaut characters is deleted from the code string so that only two umlaut characters remain.
Perl's built-in eval function works fine with the code string despite three umlaut characters.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.