aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorE7-87-83 <fungcheokyin@gmail.com>2021-07-19 15:16:47 +0800
committerE7-87-83 <fungcheokyin@gmail.com>2021-07-19 15:16:47 +0800
commit44be9f67d6f8e18e26c7aa7574ff132104c12a04 (patch)
treec5a24fc83fce23b733d49b06341c7167dfd7d7e1
parent675c4ed9a3b441729b9558c051638027242ba77a (diff)
downloadperlweeklychallenge-club-44be9f67d6f8e18e26c7aa7574ff132104c12a04.tar.gz
perlweeklychallenge-club-44be9f67d6f8e18e26c7aa7574ff132104c12a04.tar.bz2
perlweeklychallenge-club-44be9f67d6f8e18e26c7aa7574ff132104c12a04.zip
ch-1 in wk 122
-rw-r--r--challenge-122/cheok-yin-fung/perl/ch-1.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-122/cheok-yin-fung/perl/ch-1.pl b/challenge-122/cheok-yin-fung/perl/ch-1.pl
new file mode 100644
index 0000000000..c05fd47caf
--- /dev/null
+++ b/challenge-122/cheok-yin-fung/perl/ch-1.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+# The Weekly Challenge - 122
+# Task 1 Average of Stream
+use strict;
+use warnings;
+use v5.10.0;
+say "Keep entering a number and the average of the stream will be printed.";
+my $num = <STDIN>;
+my $numeric = qr/^[+-]?\d+.?\d*$/;
+exit if $num !~ /$numeric/;
+my $n = 1;
+my $sum = $num;
+printf "Average of the first number is %.3f\n", $num;
+$num = <STDIN>;
+while ($num =~ m/$numeric/ ){
+ $sum += $num;
+ $n++;
+ printf "Average of the first $n numbers is %.3f\n", $sum/$n;
+ $num = <STDIN>;
+}
+