aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Wilson <steven1170@zoho.eu>2019-10-01 14:41:10 +0100
committerSteven Wilson <steven1170@zoho.eu>2019-10-01 14:41:10 +0100
commit854c8abcd9e8048d7928b0c7868c977735f3711c (patch)
treecc446527752f223d41b947def36154dc50a966cf
parent0aa5b6a9e6060d65699ebe7d6e427521baadc769 (diff)
downloadperlweeklychallenge-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.pl55
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";
+ }
+}