#! /usr/bin/perl use warnings; use strict; use Test::More; sub what { my ($input) = @_; my $unpacked = unpack "V", $input; my $result = join "", map chr hex, sprintf("%x\n", $unpacked) =~ /(..)/g; is $result, reverse substr $input, 0, 4; } what($_) for 1000 .. 2000, 2e4, 3e5, 4e6, 5e7, 6e8, 7e9, 8e10, 9e11, 2 ** 64 - 3; done_testing();