aboutsummaryrefslogtreecommitdiff
path: root/challenge-100/lance-wicks/perl/lib/Fun.pm
blob: d1e1088614791176e66111d15bfb6856c4050aa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package Fun;

use Moo;

sub convert {
    my ( $self, $time ) = @_;

    if ( $time =~ m/([ap]m)/ ) {
        my $am_pm = $1;

        $time =~ m/^(\d+):(\d+)/;
        my $hours   = $1;
        my $minutes = $2;

        if ( $am_pm eq 'pm' ) {
            $hours += 12;
        }
        return "$hours:$minutes";
    }
    else {
        $time =~ m/^(\d+):(\d+)/;
        my $hours   = $1;
        my $minutes = $2;

        if ( $hours > 12 ) {
            $hours -= 12;
            return sprintf( "%02d", $hours ) . ":$minutes" . 'pm';
        }
        else {
            return sprintf( "%02d", $hours ) . ":$minutes" . 'am';
        }
    }
}

1;