aboutsummaryrefslogtreecommitdiff
path: root/challenge-028
diff options
context:
space:
mode:
authorTRENTON LANGER <tlanger@pelinux4.micron.com>2019-10-05 20:11:41 -0600
committerTRENTON LANGER <tlanger@pelinux4.micron.com>2019-10-05 20:11:41 -0600
commit0719f9f34b2fc99efe4e6be75da8ef7b307756d4 (patch)
tree23be0761e4939d1e40e8acf86a7eecf14ba0fb19 /challenge-028
parentf3b697f2aa517b7c54530fd2066c0febf09e7dc4 (diff)
downloadperlweeklychallenge-club-0719f9f34b2fc99efe4e6be75da8ef7b307756d4.tar.gz
perlweeklychallenge-club-0719f9f34b2fc99efe4e6be75da8ef7b307756d4.tar.bz2
perlweeklychallenge-club-0719f9f34b2fc99efe4e6be75da8ef7b307756d4.zip
Perl Weekly Challenge - 028
Diffstat (limited to 'challenge-028')
-rwxr-xr-xchallenge-028/trenton-langer/perl5/ch-2.pl99
1 files changed, 99 insertions, 0 deletions
diff --git a/challenge-028/trenton-langer/perl5/ch-2.pl b/challenge-028/trenton-langer/perl5/ch-2.pl
new file mode 100755
index 0000000000..f50386ae9a
--- /dev/null
+++ b/challenge-028/trenton-langer/perl5/ch-2.pl
@@ -0,0 +1,99 @@
+#!/mu/bin/perl -w
+use strict;
+no warnings;
+
+
+
+##################################################################################################################################################################
+##################################################################################################################################################################
+## Authorship
+##################################################################################################################################################################
+##################################################################################################################################################################
+### Project
+############# Perl Weekly Challenge - 028
+### Name
+############# ch-2.pl
+### Author
+############# Trenton Langer
+### Creation Date
+############# 20191005
+### Description
+############# Clock Display
+
+
+
+#####################################################################################################################
+#####################################################################################################################
+## PWC - 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".
+
+
+
+#####################################################################################################################
+#####################################################################################################################
+## Solution
+#####################################################################################################################
+#####################################################################################################################
+tie my $clock, 'Clock';
+while(1)
+{
+ $clock = get_time();
+ sleep(1);
+}
+
+
+
+#####################################################################################################################
+#####################################################################################################################
+## Subs
+#####################################################################################################################
+#####################################################################################################################
+sub get_time
+{
+ my ($sec,$min,$hour,$dayOfMonth,$month,$year,$dayOfWeek,$dayOfYear,$isDayLightSavings) = localtime;
+ if(length($hour) == 1){$hour = "0$hour";}
+ if(length($min) == 1){$min = "0$min";}
+ if(length($sec) == 1){$sec = "0$sec";}
+ return "$hour:$min:$sec";
+}
+
+package Clock;
+sub TIESCALAR # obj creation (tie $scalar, 'NAME', args)
+{
+ my $class = shift;
+
+ my $self;
+ $self->{_SCALAR};
+ $| = 1;
+
+ return bless $self, $class;
+}
+sub FETCH # retrieve values
+{
+ my $self = shift;
+ return $self->{_SCALAR};
+}
+sub STORE # stores values
+{
+ my $self = shift;
+ my $input = shift;
+ my $len = length($self->{_SCALAR});
+ my $del = "\b"x$len." "x$len."\b"x$len;
+ print $del;
+ print $input;
+ $self->{_SCALAR} = $input;
+}
+sub UNTIE # indicate no longer need tied variable (untie $@%var;)
+{
+ my $self = shift;
+ print "\r\n";
+ $| = 0;
+}
+
+
+
+