$num = 1234567; $result = ""; $base = 2; do { use integer; my $digit = $num % $base; substr($result, 0, 0) = $digit; # for any number < 10 $num /= $base; } while $num; print $result; #### substr($result, 0, 0) = "0" while length($result) < 32; #### $num = 1234567; $base = 16; $result = ""; my @digit = (0 .. 9, 'A' .. 'Z'); do { use integer; my $digit = $num % $base; substr($result, 0, 0) = $digit[$digit]; # for base up to 36 $num /= $base; } while $num; print $result;