diff options
| author | Steven Wilson <steven1170@zoho.eu> | 2019-10-01 14:41:10 +0100 |
|---|---|---|
| committer | Steven Wilson <steven1170@zoho.eu> | 2019-10-01 14:41:10 +0100 |
| commit | 854c8abcd9e8048d7928b0c7868c977735f3711c (patch) | |
| tree | cc446527752f223d41b947def36154dc50a966cf | |
| parent | 0aa5b6a9e6060d65699ebe7d6e427521baadc769 (diff) | |
| download | perlweeklychallenge-club-854c8abcd9e8048d7928b0c7868c977735f3711c.tar.gz perlweeklychallenge-club-854c8abcd9e8048d7928b0c7868c977735f3711c.tar.bz2 perlweeklychallenge-club-854c8abcd9e8048d7928b0c7868c977735f3711c.zip | |
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"; + } +} |
