diff options
| author | TRENTON LANGER <tlanger@pelinux4.micron.com> | 2019-10-05 20:11:41 -0600 |
|---|---|---|
| committer | TRENTON LANGER <tlanger@pelinux4.micron.com> | 2019-10-05 20:11:41 -0600 |
| commit | 0719f9f34b2fc99efe4e6be75da8ef7b307756d4 (patch) | |
| tree | 23be0761e4939d1e40e8acf86a7eecf14ba0fb19 /challenge-028 | |
| parent | f3b697f2aa517b7c54530fd2066c0febf09e7dc4 (diff) | |
| download | perlweeklychallenge-club-0719f9f34b2fc99efe4e6be75da8ef7b307756d4.tar.gz perlweeklychallenge-club-0719f9f34b2fc99efe4e6be75da8ef7b307756d4.tar.bz2 perlweeklychallenge-club-0719f9f34b2fc99efe4e6be75da8ef7b307756d4.zip | |
Perl Weekly Challenge - 028
Diffstat (limited to 'challenge-028')
| -rwxr-xr-x | challenge-028/trenton-langer/perl5/ch-2.pl | 99 |
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; +} + + + + |
