sub binary { my ($n) = @_; return $n if $n == 0 || $n == 1; my $k = int($n/2); my $b = $n % 2; print "n is $n.\nk is $k.\nb is $b.\n"; print "above\n"; my $E = binary($k); print "below\n"; print "n is $n.\nE is $E.\n\n"; return $E . $b; } print binary(8); #### n is 8. k is 4. b is 0. above n is 4. k is 2. b is 0. above n is 2. k is 1. b is 0. above below n is 2. E is 1. below n is 4. E is 10. below n is 8. E is 100. 1000