Tip #2 from the Basic debugging checklist: Display the contents of variables using print or warn:
use strict; use warnings; use Digest::SHA qw( sha256_hex ); my $h = 5472151337331275; print "\$h = >$h<\n\n"; print sha256_hex($h), "\n";
On Perl v5.24.0, which is 64-bit:
17:40 >perl 1639_SoPW.pl $h = >5472151337331275< b5951ee4a7cbfdc9df6b1b74de2d1ba865de40796c756cebe88a806c5a7b9e60 17:40 >
— which is as expected. But on Perl v5.14.4, which is 32-bit:
17:33 >perl 1639_SoPW.pl $h = >5.47215133733128e+015< 32838cef9e4571b4fa9a5297e265cf860a31774de3ca339878d87238af604a45 17:34 >
As Anonymous Monk says, the fix is to turn the argument from a number into a string.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: Perl sha256 question
by Athanasius
in thread Perl sha256 question
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |