This is a straight conversion from the Perl 5 CPAN version of String::CRC32. That one uses some C/XS code though. I wrote the equivalent in Perl 6. Was quite simple actually, once I learned a bit more on numeric bitwise operators.
&& for bitwise "OR" and "AND" are now written as:
Bitwise OR '+|' Bitwise AND '+&' Bitwise XOR '+^'
So the following code:
$x &&= 0xFF;
$x +&= 0xFF;
The reason behind this is that now there are not only numeric bitwise operators, but also boolean ones. You can read more in the official specification for Perl 6 operators.
You can download the code for the module on http://github.com/cosimo/perl6-string-crc32. Take a look at various other Perl 6 modules on modules.perl6.org.