Другое решение - полностью избегать String :: Random. Уже использованный irand
возвращает 32-битные целые числа, поэтому вы можете использовать следующее:
my $c = unpack 'H*', pack 'L*', map irand, 1..4;
В качестве бонуса, я думаю, что это решение будет быстрее.