我不理解Perl文档中有关3种不同字符串eval类型的解释.如果文档丢失,那么文档会出现乱码并没有帮助,因此句子的开头不符合其结尾.
三种口味是
use feature qw( eval_bytes );使用,或CORE::evalbytes.use feature qw( unicode_eval )是否可以解决令人困惑的怪癖与香草eval无法修复而不破坏向后兼容性.
eval的行为有所不同,具体取决于字符串的内部编码,有时将其参数视为字节字符串,有时将其视为字符串.
在eval中激活的源过滤器会泄漏到当前正在编译的文件范围中.
随着use feature qw( unicode_eval )这种变化.现在eval将始终将其代码视为字符(即UTF-8)并且不会泄漏.这很可能是您想要的行为.
对于那些真正想要被解释为字节(即ASCII)的代码的人来说evalbytes,但是你可能并不需要它.
tl; dr:如果你正在使用5.16或更新版本而你正在使用eval(你可能不应该),use feature qw( unicode_eval )和eval.它支持UTF-8并修复了eval怪癖.
或者只是use utf8::all忘记它.
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |