diff options
| -rw-r--r-- | challenge-100/mohammad-anwar/perl/ch-1.pl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/challenge-100/mohammad-anwar/perl/ch-1.pl b/challenge-100/mohammad-anwar/perl/ch-1.pl index d05904c908..f9a3b88de9 100644 --- a/challenge-100/mohammad-anwar/perl/ch-1.pl +++ b/challenge-100/mohammad-anwar/perl/ch-1.pl @@ -8,6 +8,8 @@ use Test::More; foreach (['20:20', '08:20pm'], ['22:05', '10:05pm'], ['05:00', '05:00am'], + ['12:00', '12:00pm'], + ['00:01', '12:01am'], ['11:55', '11:55am']) { is(t($_->[0]), $_->[1]); is(t($_->[1]), $_->[0]); @@ -19,7 +21,7 @@ sub t { return sprintf("%02d:%02d%s", ($_[0] =~ /(\d+)?\:(\d+)\s?([ap]m)$/i) - ?((uc($3) eq 'PM')?($1+12,$2,''):($1,$2,'')) - :(($_[0] =~ /(\d+)?\:(\d+)/) and (($1>12)?($1-12,$2,'pm'):($1,$2,'am'))) + ?((uc($3) eq 'PM')?(($1==12)?($1,$2,''):($1+12,$2,'')):(($1==12)?($1-12,$2,''):($1,$2,''))) + :(($_[0] =~ /(\d+)?\:(\d+)/) and (($1 eq '00')?('12',$2,'am'):(($1==12)?('12',$2,'pm'):(($1>12)?($1-12,$2,'pm'):($1,$2,'am'))))) ); } |
