aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2020-08-07 02:12:05 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2020-08-07 02:12:05 -0400
commitca42dd82d609e91fc5e9a8742d936e61fc8ecfa8 (patch)
tree98c1ccbd10a7d5631f6f82886fc52f6bd193eda7
parent94726265299352e69d053c5ef4f9b25b55b468db (diff)
downloadperlweeklychallenge-club-ca42dd82d609e91fc5e9a8742d936e61fc8ecfa8.tar.gz
perlweeklychallenge-club-ca42dd82d609e91fc5e9a8742d936e61fc8ecfa8.tar.bz2
perlweeklychallenge-club-ca42dd82d609e91fc5e9a8742d936e61fc8ecfa8.zip
Challenge 72 by Jaldhar H. Vyas
-rw-r--r--challenge-072/jaldhar-h-vyas/blog.txt1
-rw-r--r--challenge-072/jaldhar-h-vyas/input.txt100
-rwxr-xr-xchallenge-072/jaldhar-h-vyas/perl/ch-1.pl27
-rwxr-xr-xchallenge-072/jaldhar-h-vyas/perl/ch-2.pl37
-rwxr-xr-xchallenge-072/jaldhar-h-vyas/raku/ch-1.p68
-rwxr-xr-xchallenge-072/jaldhar-h-vyas/raku/ch-2.p610
6 files changed, 183 insertions, 0 deletions
diff --git a/challenge-072/jaldhar-h-vyas/blog.txt b/challenge-072/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..f2a3962b0b
--- /dev/null
+++ b/challenge-072/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2020/08/perl_weekly_challenge_week_72.html
diff --git a/challenge-072/jaldhar-h-vyas/input.txt b/challenge-072/jaldhar-h-vyas/input.txt
new file mode 100644
index 0000000000..e5a15512e0
--- /dev/null
+++ b/challenge-072/jaldhar-h-vyas/input.txt
@@ -0,0 +1,100 @@
+L1
+L2
+L3
+L4
+L5
+L6
+L7
+L8
+L9
+L10
+L11
+L12
+L13
+L14
+L15
+L16
+L17
+L18
+L19
+L20
+L21
+L22
+L23
+L24
+L25
+L26
+L27
+L28
+L29
+L30
+L31
+L32
+L33
+L34
+L35
+L36
+L37
+L38
+L39
+L40
+L41
+L42
+L43
+L44
+L45
+L46
+L47
+L48
+L49
+L50
+L51
+L52
+L53
+L54
+L55
+L56
+L57
+L58
+L59
+L60
+L61
+L62
+L63
+L64
+L65
+L66
+L67
+L68
+L69
+L70
+L71
+L72
+L73
+L74
+L75
+L76
+L77
+L78
+L79
+L80
+L81
+L82
+L83
+L84
+L85
+L86
+L87
+L88
+L89
+L90
+L91
+L92
+L93
+L94
+L95
+L96
+L97
+L98
+L99
+L100
diff --git a/challenge-072/jaldhar-h-vyas/perl/ch-1.pl b/challenge-072/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..db23a0b592
--- /dev/null
+++ b/challenge-072/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+use English qw/ -no_match_vars /;
+
+sub usage {
+print<<"-USAGE-";
+Usage:
+ $PROGRAM_NAME <N>
+
+ <N> number to factorialize and count trailing 0's (1 - 10)
+-USAGE-
+ exit 0;
+}
+
+my $N = shift // usage();
+if ($N < 1 || $N > 10) {
+ usage();
+}
+my $factorial = 1;
+
+for my $i (2 .. $N) {
+ $factorial *= $i;
+}
+
+$factorial =~ /(0+)$/;
+say length $1 // 0; \ No newline at end of file
diff --git a/challenge-072/jaldhar-h-vyas/perl/ch-2.pl b/challenge-072/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..578bd02aec
--- /dev/null
+++ b/challenge-072/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+use English qw/ -no_match_vars /;
+
+sub usage {
+ print<<"-USAGE-";
+Usage:
+ $PROGRAM_NAME <A> <B> <file>
+
+ <A> start line
+ <B> end line
+ <file> file name
+-USAGE-
+ exit 0;
+}
+
+if (scalar @ARGV < 3) {
+ usage();
+}
+
+my ($A, $B, $file) = @ARGV;
+my $linenumber = 0;
+
+open my $fn, '<', $file or die "$OS_ERROR\n";
+while (my $line = <$fn>) {
+ $linenumber++;
+ if ($linenumber > $B) {
+ last;
+ }
+ if ($linenumber < $A) {
+ next;
+ }
+ print $line;
+
+}
+close $fn; \ No newline at end of file
diff --git a/challenge-072/jaldhar-h-vyas/raku/ch-1.p6 b/challenge-072/jaldhar-h-vyas/raku/ch-1.p6
new file mode 100755
index 0000000000..aaf824ed54
--- /dev/null
+++ b/challenge-072/jaldhar-h-vyas/raku/ch-1.p6
@@ -0,0 +1,8 @@
+#!/usr/bin/perl6
+
+sub MAIN(
+ Int $N #= number to factorialize and count trailing 0's (1 - 10)
+ where { $N ~~ any 1 .. 10}
+) {
+ (([*] 1 .. $N) ~~ / <(0+)> $ / // q{}).chars.say;
+} \ No newline at end of file
diff --git a/challenge-072/jaldhar-h-vyas/raku/ch-2.p6 b/challenge-072/jaldhar-h-vyas/raku/ch-2.p6
new file mode 100755
index 0000000000..e54109f47b
--- /dev/null
+++ b/challenge-072/jaldhar-h-vyas/raku/ch-2.p6
@@ -0,0 +1,10 @@
+#!/usr/bin/perl6
+
+sub MAIN(
+ $A, #= start line
+ $B, #= end line
+ $file #= file name
+ where { $A > 0 && $A <= $B}
+) {
+ .say for $file.IO.lines[$A - 1 .. $B - 1];
+} \ No newline at end of file