exercism-perl5

Repository for my Perl 5 Exercism exercises
git clone git://git.samirparikh.com/exercism-perl5
Log | Files | Refs | README

commit f68cedb8131accb9b05059759b1fa6deedac117f
parent 37233b7232629a49591341f0815c060902ee849e
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Tue, 28 Dec 2021 22:41:15 +0000

working on passing test case 17

Diffstat:
Mwordy/Wordy.pm | 19+++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/wordy/Wordy.pm b/wordy/Wordy.pm @@ -6,16 +6,20 @@ use Exporter qw<import>; our @EXPORT_OK = qw<answer>; my $pattern = qr/(-?\d+|plus|minus|divided|multiplied)/; +my $op_regex = qr/plus|minus|divided|multiplied/; sub answer { my ($question) = @_; die "unknown operation" if ($question !~ m/^What/); say $question; my @m = ($question =~ m/$pattern/g); - #say "here is what I found"; - #say "->$_<-" foreach @m; - #say "total elements: ", scalar @m; - return $m[0] if (scalar @m == 1 && $m[0] =~ m/-?\d+/); + say "here is what I found"; + say "->$_<-" foreach @m; + say "total elements: ", scalar @m; + if (scalar @m == 1 && $m[0] =~ m/-?\d+/) { + say "I am returning $m[0]"; + return $m[0]; + } my @stack; foreach (@m) { push @stack => @@ -25,8 +29,11 @@ sub answer { $_ eq 'divided' ? '/' : '*' ; } - say "@stack"; - return undef; + say "<", (join "><", @stack), ">"; + my $result = eval join ' ', @stack; + die "syntax error" if $@; + say "I am returning $result"; + return $result; } 1;