From 171ef55def0a89f105dcf36ce9df557970655303 Mon Sep 17 00:00:00 2001 From: Philip Kirkbride Date: Sat, 19 Aug 2017 18:21:05 -0400 Subject: [PATCH] Pi: correct parsing for max length (#4441) * Pi: correct parsing for max length * small style fix * fix for pi 1000 --- lib/DDG/Goodie/Pi.pm | 4 ++-- t/Pi.t | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/DDG/Goodie/Pi.pm b/lib/DDG/Goodie/Pi.pm index 75f257a29..dd0daaa63 100755 --- a/lib/DDG/Goodie/Pi.pm +++ b/lib/DDG/Goodie/Pi.pm @@ -22,12 +22,12 @@ my $PI = '3.14159265358979323846264338327950288419716939937510582097494459230781 '147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216'. '4201989'; -my $PI_max_digits = length($PI); +my $PI_max_digits = length($PI) - 2; handle query_raw => sub { return unless $_ =~ /^(?:pi|π)?\s*(?:to|first)?\s*(?\d+)\s*(?:(?:decimal|digit)s?)?\s*(?:of\s+(?:pi|π))?$/i && - $+{decimal} > 0 && $+{decimal} < $PI_max_digits; + $+{decimal} > 0 && $+{decimal} <= $PI_max_digits; my $answer = substr $PI, 0, ( $1 + 2 ); return $answer, structured_answer => { diff --git a/t/Pi.t b/t/Pi.t index 0fc04ecb1..c451af546 100755 --- a/t/Pi.t +++ b/t/Pi.t @@ -34,7 +34,9 @@ ddg_goodie_test( 'π to 6 digits' => build_test("3.141592", 6), 'pi ff' => undef, - 'pi 3f2' => undef + 'pi 3f2' => undef, + 'pi 1001' => undef, + 'pi 1002' => undef, ); done_testing;