aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels van Dijke <perlboy@cpan.org>2022-11-21 12:26:47 +0000
committerNiels van Dijke <perlboy@cpan.org>2022-11-21 12:26:47 +0000
commit93e16aedac1f6a51b5227a3510ef3cb125b2ff75 (patch)
tree44c0b4d840936a48035df4feb78b9298dd1d4ee7
parentbde6bd6403b1d25a37db6133cbb90a47699884c3 (diff)
downloadperlweeklychallenge-club-93e16aedac1f6a51b5227a3510ef3cb125b2ff75.tar.gz
perlweeklychallenge-club-93e16aedac1f6a51b5227a3510ef3cb125b2ff75.tar.bz2
perlweeklychallenge-club-93e16aedac1f6a51b5227a3510ef3cb125b2ff75.zip
Turn binaryFlipString into a one-liner subroutine
-rwxr-xr-xchallenge-192/perlboy1967/perl/ch-1.pl6
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;
}