diff options
| author | Niels van Dijke <perlboy@cpan.org> | 2022-11-21 12:26:47 +0000 |
|---|---|---|
| committer | Niels van Dijke <perlboy@cpan.org> | 2022-11-21 12:26:47 +0000 |
| commit | 93e16aedac1f6a51b5227a3510ef3cb125b2ff75 (patch) | |
| tree | 44c0b4d840936a48035df4feb78b9298dd1d4ee7 | |
| parent | bde6bd6403b1d25a37db6133cbb90a47699884c3 (diff) | |
| download | perlweeklychallenge-club-93e16aedac1f6a51b5227a3510ef3cb125b2ff75.tar.gz perlweeklychallenge-club-93e16aedac1f6a51b5227a3510ef3cb125b2ff75.tar.bz2 perlweeklychallenge-club-93e16aedac1f6a51b5227a3510ef3cb125b2ff75.zip | |
Turn binaryFlipString into a one-liner subroutine
| -rwxr-xr-x | challenge-192/perlboy1967/perl/ch-1.pl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/challenge-192/perlboy1967/perl/ch-1.pl b/challenge-192/perlboy1967/perl/ch-1.pl index 106fed0019..f3c1f5abbf 100755 --- a/challenge-192/perlboy1967/perl/ch-1.pl +++ b/challenge-192/perlboy1967/perl/ch-1.pl @@ -24,17 +24,17 @@ use Benchmark qw(:all); sub binaryFlipString ($) { - my $n = sprintf('%b',$_[0]); - $n =~ tr/01/10/; - return oct('0b'.$n); + return oct('0b'.sprintf('%b',$_[0]) =~ tr/01/10/r); } sub binaryFlipBinary ($) { my ($i,$m) = ($_[0],0); + # Create bitmask for 'AND' below while ($i) { $i >>= 1; $m = ($m << 1) + 1; } + return ~$_[0] & $m; } |
