diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-10-30 14:33:06 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-11-06 01:13:48 -0700 |
commit | 7d7892821ccfd0b84576fc06764ec467e8ca7678 (patch) | |
tree | 8a14db3fc316b83374c8d171175537ad6e6c306e /toke.c | |
parent | 17e00314cad49c11dda5b621497c7010537844ea (diff) | |
download | perl-7d7892821ccfd0b84576fc06764ec467e8ca7678.tar.gz |
Add evalbytes function
This function evaluates its argument as a byte string, regardless of
the internal encoding. It croaks if the string contains characters
outside the byte range. Hence evalbytes(" use utf8; '\xc4\x80' ")
will return "\x{100}", even if the original string had the UTF8 flag
on, and evalbytes(" '\xc4\x80' ") will return "\xc4\x80".
This has the side effect of fixing the deparsing of CORE::break under
‘use feature’ when there is an override.
Diffstat (limited to 'toke.c')
-rw-r--r-- | toke.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -7248,6 +7248,10 @@ Perl_yylex(pTHX) UNIBRACK(OP_ENTEREVAL); } + case KEY_evalbytes: + PL_expect = XTERM; + UNIBRACK(-OP_ENTEREVAL); + case KEY_eof: UNI(OP_EOF); |