Digest::SHA256の使い方ではまる

しょぼすぎるミスをしていたので自戒をこめてメモ。

% cat sha256.pl
use strict;
use warnings;
use Digest::SHA qw(sha256_hex);

my $digest = Digest::SHA->sha256_hex("12");
print "$digest\n";

$digest = Digest::SHA::sha256_hex("12");
print "$digest\n";

$digest = sha256_hex("12");
print "$digest\n";

% perl sha256.pl
bf31189b4184f12ddc54f7a614ff49e44489d9acf101b0dcf94d6861698ae8ef
6b51d431df5d7f141cbececcf79edf3dd861c3b4069f0b11661a3eefacbba918
6b51d431df5d7f141cbececcf79edf3dd861c3b4069f0b11661a3eefacbba918

関数はパッケージ名+'->'で呼んじゃ駄目。多分、最初のは"12"の代わりにDigest::SHAのdigestを取得してるんだろうなぁ…