为什么sha1_hex("test")返回的值与Digest :: SHA-> sha1_hex("test")不同?

Den*_*ory 1 perl

我很好奇为什么这给出了正确的答案:

use Digest::SHA qw(sha1_hex);
print sha1_hex("test");
Run Code Online (Sandbox Code Playgroud)

但这不是:

use Digest::SHA;
print Digest::SHA->sha1_hex("test");
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 6

sha1_hex不是一种方法.你要

Digest::SHA::sha1_hex("test")
Run Code Online (Sandbox Code Playgroud)
Digest::SHA->sha1_hex("test")
Run Code Online (Sandbox Code Playgroud)

基本上相当于

Digest::SHA->can('sha1_hex')->("Digest::SHA", "test")
Run Code Online (Sandbox Code Playgroud)

注意额外的参数.