我想用 Perl 中的整数溢出检查(有符号、无符号、大端和小端)打包各种表达式结果。如果我尝试:
$ perl -e 'use warnings; print pack("c", 200)' | hexdump -C
我得到:
Character in 'c' format wrapped in pack at -e line 1.
00000000 c8 |.|
00000001
有没有办法检查 pack() 函数中发生的整数溢出?或者可能会强制函数在溢出时失败?如果我在打包前检查每种类型的范围(有符号 1、2、4、8 字节,无符号 1、2、4、8),代码看起来有点难看。
谢谢。