exercism-perl5

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

commit bf5c3e2453040554e823420d8a36b61d5fec2ac0
parent 14ba14e9460062b85315206834827b9125d3654b
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Wed, 27 Apr 2022 14:44:40 +0000

get some tests to pass

Diffstat:
Mmeetup/Meetup.pm | 34+++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/meetup/Meetup.pm b/meetup/Meetup.pm @@ -4,9 +4,41 @@ use warnings; use Exporter qw<import>; our @EXPORT_OK = qw<meetup>; +#use Data::Dumper; +use Date::Calc qw( Nth_Weekday_of_Month_Year ); + sub meetup { my ($desc) = @_; - return undef; + my %input; + my %day_number; + my %month_number; + my %week_number; + @input{ qw( week day_of_week of month year ) } = split / /, $desc; #hash slice + @day_number{ qw( + Monday Tuesday Wednesday Thursday Friday Saturday Sunday + ) } = ( 1 .. 7 ); + @month_number{ qw( + January February March April May June + July August September October November December + ) } = ( 1 .. 12 ); + @week_number{ qw( + First Second Third Fourth Fifth Last Teenth + ) } = ( 1 .. 7 ); + #print Dumper \%input; + print "$desc\n"; + print "year = ", $input{ year }, "\n"; + print "month number = ", $month_number{ $input{ month } }, "\n"; + print "day number = ", $day_number{ $input{ day_of_week } }, "\n"; + print "week number = ", $week_number{ $input{ week } }, "\n"; + #return undef; + my ($year, $month, $day) = + Nth_Weekday_of_Month_Year( + $input{ year }, + $month_number{ $input{ month } }, + $day_number{ $input{ day_of_week } }, + $week_number{ $input{ week } } + ) if $week_number{ $input{ week } } < 6; + return"$year-$month-$day"; } 1;