【发布时间】:2010-07-02 04:04:49
【问题描述】:
在我的 64 位 Linux 平台上重新编译 perl 和 SSHing Mac 终端(我猜是 UTF-8)。我提供所有这些信息以防万一。
# perl -e '使用摘要::MD5 qw/md5_hex/;打印(md5_hex("alex@vi\n") ."\n");'
756e98065cb8cbf603a3dbef2afe9261
# perl -e '使用摘要::MD5 qw/md5_hex/;打印(md5_hex("alex@visi\n") ."\n");'
756e98065cb8cbf603a3dbef2afe9261
# perl -e '使用摘要::MD5 qw/md5_hex/;打印(md5_hex("alex@vision\n") ."\n");'
756e98065cb8cbf603a3dbef2afe9261
# perl -e '使用摘要::MD5 qw/md5_hex/;打印(md5_hex("alex@visionten\n") ."\n");'
756e98065cb8cbf603a3dbef2afe9261
# perl -e '使用摘要::MD5 qw/md5_hex/;打印(md5_hex("alex@visionten.\n") ."\n");'
d32e04de6906b3f284c6834b4d1d77c1
# perl -e '使用摘要::MD5 qw/md5_hex/;打印(md5_hex("alex@\n") ."\n");'
264eca1047ccc6272ac2e338c695379e
【问题讨论】:
-
您是否尝试在调用函数之前将输入打印到 md5_hex?
-
始终启用警告;甚至(或者特别是?)单线。
-
对,在命令行中使用
-Mstrict或-w都会发现问题。 -
这里有一个更短的写单行的样式:
perl -MDigest::MD5=md5_hex -wE "say md5_hex(qq/alex\@vi\n/);"