blob: 366233e0a894b204402adcd610c8fbe760aad581 (
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
|
#!/usr/bin/env perl
use strict;
use warnings;
use experimental qw{ fc say postderef signatures state };
my @times = qw{
?5:00
?3:00
1?:00
2?:00
12:?5
12:5?
};
for my $time (@times) {
my $output = digital_clock($time);
say <<"END";
Input: \$time = '$time'
Output: $output
END
}
sub digital_clock ( $input ) {
my $valid = '';
for my $i ( 0 .. 9 ) {
my $j = $input;
$j =~ s/\?/$i/mx;
my ( $h, $m ) = split m{:}, $j;
return $valid if $h > 23;
return $valid if $m > 59;
$valid = $i;
}
return $valid;
}
|