1

这两个代码片段是否相同?

utf8::upgrade( $s );

use Encode qw(is_utf8 decode);

$s = is_utf8( $s ) ? $s : decode( 'latin1', $s );
4

1 回答 1

2

制作副本及其含义不谈,它们是同一件事,但只是因为如何decode('latin1', $_)处理无效的 latin1 字符串,例如"\x90".

该表达式返回不同的内容(内部使用的字节数 vs $s),但我认为您正在丢弃它。

我希望你问,因为你想用前者代替后者!

于 2013-04-29T17:16:38.317 回答