From 93e16aedac1f6a51b5227a3510ef3cb125b2ff75 Mon Sep 17 00:00:00 2001 From: Niels van Dijke Date: Mon, 21 Nov 2022 12:26:47 +0000 Subject: Turn binaryFlipString into a one-liner subroutine --- challenge-192/perlboy1967/perl/ch-1.pl | 6 +++--- 1 file 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; } -- cgit