我偶尔会遇到字符串略有不同的问题,在某些情况下 utf8::all改变了行为,所以我假设细微的差别是 unicode。我想以这样一种方式转储字符串,使差异对我来说是可见的。执行此操作我有哪些选择?
最佳答案
我推荐the Devel::Peek
module in the Perl core中的Dump
函数:
$ perl -MDevel::Peek -e 'Dump "abc"'
SV = PV(0x10441500) at 0x10491680
REFCNT = 1
FLAGS = (PADTMP,POK,READONLY,pPOK)
PV = 0x10442224 "abc"\0
CUR = 3
LEN = 4
$ perl -MDevel::Peek -e 'Dump "\x{FEFF}abc"'
SV = PV(0x10441050) at 0x10443be0
REFCNT = 1
FLAGS = (PADTMP,POK,READONLY,pPOK,UTF8)
PV = 0x10449bc0 "\357\273\277abc"\0 [UTF8 "\x{feff}abc"]
CUR = 6
LEN = 8
(你看到 FLAGS
在第二个例子中是如何包含 UTF8
的,因为宽字符,但在第一个例子中没有?)
关于perl - 如何在 perl 中转储字符串以查看是否存在任何字符差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730054/