http://qs321.pair.com?node_id=1129221


in reply to Re^4: decimal to binary conversion
in thread decimal to binary conversion

Yes, you can drop all the parens when you switch to the ternary operator. And yes, it can be done as a loop, which also removes the 8-bit restriction:

$ cat 1129169.pl #!/usr/bin/env perl use 5.010; use strict; use warnings; sub dec_to_bin { my $dec = shift; print "$dec : "; unless( $dec =~ /^\d+$/ ){ say "Not a whole number!"; return; } my $x = 1; my $bin = ''; while(1){ my $bit = $dec & $x; $bin = ($bit ? 1 : 0) . $bin; $dec -= $bit; last unless $dec; $x <<= 1; } say $bin; } dec_to_bin($_) for @ARGV; $ perl 1129169.pl 0 1 4 255 65536 abc 0 : 0 1 : 1 4 : 100 255 : 11111111 65536 : 10000000000000000 abc : Not a decimal number!

Aaron B.
Available for small or large Perl jobs and *nix system administration; see my home node.