aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-08-05 23:41:23 +0100
committerGitHub <noreply@github.com>2025-08-05 23:41:23 +0100
commit0d7eb902630448348f24151a0ac111801a73edc4 (patch)
tree81dcfab5f38c102b40dc5e4f9399c91fa7c7ec9d
parent8c2030c4be280d8b25cd980b7f439482d2962ec1 (diff)
parent9ae4dac588a235094690cbcbded3502206f49915 (diff)
downloadperlweeklychallenge-club-0d7eb902630448348f24151a0ac111801a73edc4.tar.gz
perlweeklychallenge-club-0d7eb902630448348f24151a0ac111801a73edc4.tar.bz2
perlweeklychallenge-club-0d7eb902630448348f24151a0ac111801a73edc4.zip
Merge pull request #12475 from jaldhar/challenge-333
Challenge 333 by Jaldhar H. Vyas.
-rw-r--r--challenge-333/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-333/jaldhar-h-vyas/perl/ch-1.pl28
-rwxr-xr-xchallenge-333/jaldhar-h-vyas/perl/ch-2.sh3
-rwxr-xr-xchallenge-333/jaldhar-h-vyas/raku/ch-1.raku21
-rwxr-xr-xchallenge-333/jaldhar-h-vyas/raku/ch-2.sh3
5 files changed, 56 insertions, 0 deletions
diff --git a/challenge-333/jaldhar-h-vyas/blog.txt b/challenge-333/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..1fe4354661
--- /dev/null
+++ b/challenge-333/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2025/08/perl_weekly_challenge_week_333.html
diff --git a/challenge-333/jaldhar-h-vyas/perl/ch-1.pl b/challenge-333/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..8adc453571
--- /dev/null
+++ b/challenge-333/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+use 5.038;
+use warnings;
+
+my @list = @ARGV;
+
+if (scalar @list < 3) {
+ say "Need atleast 3 points";
+ exit;
+}
+
+my @coords = map { [split /,/] } @list;
+
+my ($x0, $y0) = @{$coords[0]};
+my ($x1, $y1) = @{$coords[1]};
+my $dx = $x1 - $x0;
+my $dy = $y1 - $y0;
+
+for my $coord (@coords[2 .. $#coords]) {
+ my ($x, $y) = @{$coord};
+
+ if ($dx * ($y - $y0) != $dy * ($x - $x0)) {
+ say "False";
+ exit;
+ }
+}
+say "True";
+
diff --git a/challenge-333/jaldhar-h-vyas/perl/ch-2.sh b/challenge-333/jaldhar-h-vyas/perl/ch-2.sh
new file mode 100755
index 0000000000..0b09cc76ae
--- /dev/null
+++ b/challenge-333/jaldhar-h-vyas/perl/ch-2.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+perl -E 'say q{(},(join q{, },(map{$_?$_:(0,0)}@ARGV)[0..$#ARGV]),q{)}' "$@"
diff --git a/challenge-333/jaldhar-h-vyas/raku/ch-1.raku b/challenge-333/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..64877f0ff7
--- /dev/null
+++ b/challenge-333/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@list where { @list.elems > 2 } #= list of coordinates in the form x,y
+) {
+ my @coords = @list».split(',')».Int;
+
+ my ($x0, $y0) = @coords[0];
+ my ($x1, $y1) = @coords[1];
+ my $dx = $x1 - $x0;
+ my $dy = $y1 - $y0;
+
+ for @coords[2..*] -> ($x, $y) {
+ if ($dx * ($y - $y0) != $dy * ($x - $x0)) {
+ say "False";
+ exit;
+ }
+ }
+
+ say "True";
+} \ No newline at end of file
diff --git a/challenge-333/jaldhar-h-vyas/raku/ch-2.sh b/challenge-333/jaldhar-h-vyas/raku/ch-2.sh
new file mode 100755
index 0000000000..b13ccd96c8
--- /dev/null
+++ b/challenge-333/jaldhar-h-vyas/raku/ch-2.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e 'say q{(},@*ARGS.map({$_+0??$_!!|(0,0)})[^@*ARGS.elems].join(q{, }),q{)}' "$@"