1use strict; 2use Digest::SHA qw(sha512_hex sha512224_hex sha512256_hex); 3 4my @vecs = map { eval } <DATA>; 5 6my $numtests = scalar(@vecs) / 2; 7print "1..$numtests\n"; 8 9my $skip = sha512_hex("") ? 0 : 1; 10 11for (1 .. $numtests) { 12 my $data = shift @vecs; 13 my $digest = shift @vecs; 14 unless ($skip) { 15 my $rsp = ($_ <= $numtests/2) ? 16 sha512224_hex($data) : sha512256_hex($data); 17 print "not " unless $rsp eq $digest; 18 } 19 print "ok ", $_, $skip ? " # skip: no 64-bit" : "", "\n"; 20} 21 22__DATA__ 23"abc" 24"4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa" 25"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" 26"23fec5bb94d60b23308192640b0c453335d664734fe40e7268674af9" 27"abc" 28"53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23" 29"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu" 30"3928e184fb8690f840da3988121d31be65cb9d3ef83ee6146feac861e19b563a" 31