`Zidane Tribal wrote:
Quote:
it would appear that using the command 'crc("data")' from the String::CRC
returns incorrect results
|
No, it's not. crc != cksum; there are many different CRC algorithms.
Quote:
for example, this script.....
>
#!/usr/bin/perl -w
use strict;
use String::CRC;
print "crc: " . crc($ARGV[0]) . " " . length($ARGV[0]) . "\n";
>
produces this output:
>
zidane@bluemist:~/ps2/dev/crccheck$ ./crctest.pl 12345
crc: 3817467633 5
zidane@bluemist:~/ps2/dev/crccheck$
>
whereas this command:
>
zidane@bluemist:~/ps2/dev/crccheck$ echo -n "12345" | cksum
3288622155 5
zidane@bluemist:~/ps2/dev/crccheck$
>
produces a different crc value.
|
The String::CRC::Cksum module calculates a 32 bit CRC, generating
the same CRC value as the POSIX cksum program.
linux% cat cksum.pl
#!/usr/bin/perl -w
use strict;
use String::CRC::Cksum qw(cksum);
print "cksum: " . cksum($ARGV[0]) . " " . length($ARGV[0]) . "\n";
linux% perl cksum.pl 12345
cksum: 3288622155 5
-Joe
P.S. The newsgroup comp.lang.perl is defunct; use comp.lang.perl.misc instead.