同じDigest::*だと思ったら大間違いという話。 -MDigest::SHA=sha512_hexだと use Digest::SHA qw/ sha512_hex /; use utf8; use Encode qw/ encode_utf8 /; print sha512_hex("あいうえお"),"\n"; #=> ed8ad6b03b7cb459... print sha512_hex(encode_utf8("あいうえお")),"\n"; #=> ed8ad6b03b7cb459... 動くし、同じ値になる。 -MDigest::MD5=md5_hexだと use Digest::MD5 qw/ md5_hex /; use utf8; use Encode qw/ encode_utf8 /; print md5_hex("あいうえお"),"\n"; #=> Error: