sub dec2bin { my $str = unpack("B32", pack("N", shift)); $str =~ s/^0+(?=\d)//; # otherwise you'll get leading zeros return $str; } sub bin2dec { return unpack("N", pack("B32", substr("0" x 32 . shift, -32))); } print bin2dec("101")," ",bin2dec("111"),"\n"; print dec2bin(5), " ",dec2bin(7) ,"\n"; #### 5 7 101 111