Scroll to navigation

CRC32(3) User Contributed Perl Documentation CRC32(3)


String::CRC32 - Perl interface for cyclic redundancy check generation


    use String::CRC32;
    $crc = crc32("some string");
    $crc = crc32("some string", initvalue);
    $somestring = "some string";
    $crc = crc32($somestring);
    printf "%08x\n", $crc;
    open my $fh, '<', 'location/of/some.file' or die $!;
    binmode $fh;
    $crc = crc32($fh);
    close $fh;


The CRC32 module calculates CRC sums of 32 bit lengths as integers. It generates the same CRC values as ZMODEM, PKZIP, PICCHECK and many others.

Despite its name, this module is able to compute the checksum of files as well as strings.


    $crc = crc32("some string");

results in the same as

    $crc = crc32(" string", crc32("some"));

This is useful for subsequent CRC checking of substrings.

You may even check files:

    open my $fh, '<', 'location/of/some.file' or die $!;
    binmode $fh;
    $crc = crc32($fh);
    close $fh;

A init value may also have been supplied in the above example.


Soenke J. Peters <>

Current maintainer: LEEJO

Address bug reports and comments to: <>


CRC algorithm code taken from CRC-32 by Craig Bruce. The module stuff is inspired by a similar perl module called String::CRC by David Sharnoff & Matthew Dillon. Horst Fickenscher told me that it could be useful to supply an init value to the crc checking function and so I included this possibility.

The author of this package disclaims all copyrights and releases it into the public domain.

2021-02-05 perl v5.40.0