1use strict; 2 3my $MODULE; 4 5BEGIN { 6 $MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl"; 7 eval "require $MODULE" || die $@; 8 $MODULE->import(qw(sha224_hex)); 9} 10 11BEGIN { 12 if ($ENV{PERL_CORE}) { 13 chdir 't' if -d 't'; 14 @INC = '../lib'; 15 } 16} 17 18my @vecs = map { eval } <DATA>; 19$#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl"; 20 21my $numtests = scalar(@vecs) / 2; 22print "1..$numtests\n"; 23 24for (1 .. $numtests) { 25 my $data = shift @vecs; 26 my $digest = shift @vecs; 27 print "not " unless sha224_hex($data) eq $digest; 28 print "ok ", $_, "\n"; 29} 30 31__DATA__ 32"abc" 33"23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7" 34"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" 35"75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525" 36"a" x 1000000 37"20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67" 38