diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2019-10-01 15:01:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-01 15:01:06 +0100 |
| commit | 5a9c610f76278c66631eeeb2797db382d24e2886 (patch) | |
| tree | 3ac70018a2a94a2fe0a30df5ab40be02998f2f1a | |
| parent | ec720ac8478ff8ece8b2d52fd5a7440a968bc70a (diff) | |
| parent | 854c8abcd9e8048d7928b0c7868c977735f3711c (diff) | |
| download | perlweeklychallenge-club-5a9c610f76278c66631eeeb2797db382d24e2886.tar.gz perlweeklychallenge-club-5a9c610f76278c66631eeeb2797db382d24e2886.tar.bz2 perlweeklychallenge-club-5a9c610f76278c66631eeeb2797db382d24e2886.zip | |
Merge pull request #697 from oWnOIzRi/week28
add week 28 task 2
| -rw-r--r-- | challenge-028/steven-wilson/perl5/ch-2.pl | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/challenge-028/steven-wilson/perl5/ch-2.pl b/challenge-028/steven-wilson/perl5/ch-2.pl new file mode 100644 index 0000000000..676243c6a3 --- /dev/null +++ b/challenge-028/steven-wilson/perl5/ch-2.pl @@ -0,0 +1,55 @@ +#!/usr/bin/env perl +# Author: Steven Wilson +# Date: 2019-10-01 +# Week: 028 + +# Task #2 +# Write a script to display Digital Clock. Feel free to be as creative +# as you can when displaying digits. We expect bare minimum something +# like “14:10:11”. + +# Usage: % perl ch-2.pl +# ouput: _ _ _ _ _ +# | |. _| _|. _||_| +# | |.|_ |_ . _| _| + +use strict; +use warnings; +use feature qw/ say /; +use DateTime; + +my $dt = DateTime->now; +my $hour = $dt->hour; +my $minute = $dt->minute; +my $second = $dt->second; +my $digital = sprintf( "%02d:%02d:%02d", $hour, $minute, $second ); +my @colon = ( " ", ".", "." ); +my @digits; +$digits[0] = [ " _ ", "| |", "|_|" ]; +$digits[1] = [ " ", " |", " |" ]; +$digits[2] = [ " _ ", " _|", "|_ " ]; +$digits[3] = [ " _ ", " _|", " _|" ]; +$digits[4] = [ " ", "|_|", " |" ]; +$digits[5] = [ " _ ", "|_ ", " _|" ]; +$digits[6] = [ " _ ", "|_ ", "|_|" ]; +$digits[7] = [ " _ ", " |", " |" ]; +$digits[8] = [ " _ ", "|_|", "|_|" ]; +$digits[9] = [ " _ ", "|_|", " _|" ]; + +print_digital($digital); + +sub print_digital { + my $digital_string = shift; + my @digit_to_print = split //, $digital_string; + for ( my $i = 0; $i < 3; $i++ ) { + for my $d (@digit_to_print) { + if ( $d eq ":" ) { + print $colon[$i]; + } + else { + print $digits[$d][$i]; + } + } + print "\n"; + } +} |
