in reply to decimal to binary

You could always use sprintf():
my ($binary) = sprintf ("%08b", $decimal);