If you want to stick with a recursive solution:
use Test::More tests => 1; my @data = qw( 000- 0101 011- 1-0- ); my @expected = qw( 0000 0001 0101 0110 0111 1000 1001 1100 1101 ); my @got = map { expand_binary( $_ ) } @data; is_deeply \@got, \@expected; sub expand_binary { my $bin = shift; if ( $bin =~ /-/ ) { ( my $zero = $bin ) =~ s/-/0/; ( my $one = $bin ) =~ s/-/1/; return ( expand_binary( $zero ), expand_binary( $one ) ); } return $bin; }
In reply to Re: Working with Binary Numbers
by FunkyMonk
in thread Working with Binary Numbers
by shoness
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |