Integer overflow in hexadecimal number at generateLoadFile.pl line 27. Hexadecimal number > 0xffffffff non-portable at generateLoadFile.pl line 27. #### #!/usr/bin/perl use strict; use warnings; my $buffer = ""; my $i = 0; my $crc = 0; my $val = ""; my $k = 0; # solution: 990644297 $buffer = "/etc/test2.sh"; # Integer overflow in hexadecimal number at generateLoadFile.pl line 28. # Hexadecimal number > 0xffffffff non-portable at generateLoadFile.pl line 45. # Integer overflow in hexadecimal number at generateLoadFile.pl line 28. # Hexadecimal number > 0xffffffff non-portable at generateLoadFile.pl line 45. for( $i = 0; $i < int(length($buffer) / 4); $i = $i + 1 ) { $val = sprintf("%02X", ord(substr($buffer, ($i*4) + 0, 1))) . sprintf("%02X", ord(substr($buffer, ($i*4) + 1, 1))) . sprintf("%02X", ord(substr($buffer, ($i*4) + 2, 1))) . sprintf("%02X", ord(substr($buffer, ($i*4) + 3, 1))); $crc = ($crc + hex($val)) % 0x100000000; } $val = ""; $k = 0; for( 1 .. int(length($buffer) % 4) ) { $val .= sprintf("%02X", ord(substr($buffer, ($i*4) + $k, 1))); $k++; } # pad other bytes of 32bit with "00" for( 1 .. (4 - int(length($buffer) % 4)) ) { $val .= "00"; } $crc = ($crc + hex($val)) % 0x100000000; print $crc . "\n";