aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-10-02 23:52:11 +0100
committerGitHub <noreply@github.com>2022-10-02 23:52:11 +0100
commitc0eb045a43bfc282a9b457e2934835529910457e (patch)
tree22ca05c2cb87cc8329f623b61effe90a0c0ff1ac
parentf1d9f736f128e7d94b6604961d53f1c1d824c284 (diff)
parent885e43402786b8a31d8e123a4c0f6be338a73e07 (diff)
downloadperlweeklychallenge-club-c0eb045a43bfc282a9b457e2934835529910457e.tar.gz
perlweeklychallenge-club-c0eb045a43bfc282a9b457e2934835529910457e.tar.bz2
perlweeklychallenge-club-c0eb045a43bfc282a9b457e2934835529910457e.zip
Merge pull request #6831 from jaldhar/challenge-184
Challenge 184 by Jaldhar H. Vyas.
-rw-r--r--challenge-184/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-184/jaldhar-h-vyas/perl/ch-1.pl8
-rwxr-xr-xchallenge-184/jaldhar-h-vyas/perl/ch-2.pl37
-rwxr-xr-xchallenge-184/jaldhar-h-vyas/raku/ch-1.raku9
-rwxr-xr-xchallenge-184/jaldhar-h-vyas/raku/ch-2.raku37
5 files changed, 92 insertions, 0 deletions
diff --git a/challenge-184/jaldhar-h-vyas/blog.txt b/challenge-184/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..d4509e70ac
--- /dev/null
+++ b/challenge-184/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2022/10/perl_weekly_challenge_week_184.html \ No newline at end of file
diff --git a/challenge-184/jaldhar-h-vyas/perl/ch-1.pl b/challenge-184/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..92656f0119
--- /dev/null
+++ b/challenge-184/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,8 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my @list = @ARGV;
+my $seq = '00';
+my @output = map { s/^../$seq++/emsx; $_; } @list;
+say join q{ }, @output; \ No newline at end of file
diff --git a/challenge-184/jaldhar-h-vyas/perl/ch-2.pl b/challenge-184/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..a034ca5d70
--- /dev/null
+++ b/challenge-184/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+sub printArray {
+ my ($array) = @_;
+
+ my @output = map { q{[} . (join q{,}, @{$_}) . q{]} } @{$array};
+
+ return q{[} . (join q{, }, @output) . q{]};
+}
+
+my @list = @ARGV;
+my @allInts;
+my @allAlphas;
+
+for my $string (@list) {
+ my @ints;
+ my @alphas;
+
+ for my $char (split q{ }, $string) {
+ if ($char =~ /[0-9]/) {
+ push @ints, $char;
+ } elsif ($char =~ /[a-z]/) {
+ push @alphas, "'$char'";
+ }
+ }
+
+ if (@ints) {
+ push @allInts, \@ints;
+ }
+ if (@alphas) {
+ push @allAlphas, \@alphas;
+ }
+}
+
+say printArray(\@allInts), ' and ', printArray(\@allAlphas);
diff --git a/challenge-184/jaldhar-h-vyas/raku/ch-1.raku b/challenge-184/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..2129668880
--- /dev/null
+++ b/challenge-184/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,9 @@
+#!/usr/bin/raku
+
+sub MAIN (
+ *@list
+) {
+ my $seq = '00';
+ my @output = @list.map({ $_.subst(/^../, $seq++)});
+ @output.join(q{ }).say;
+} \ No newline at end of file
diff --git a/challenge-184/jaldhar-h-vyas/raku/ch-2.raku b/challenge-184/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..d20a9ad881
--- /dev/null
+++ b/challenge-184/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,37 @@
+#!/usr/bin/raku
+
+sub printArray(@array) {
+
+ my @output = @array.map({ q{[} ~ $_.join(q{,}) ~ q{]} });
+
+ return q{[} ~ @output.join(q{, }) ~ q{]};
+}
+
+sub MAIN(
+ *@list #= strings containing digits and lower case letters
+) {
+ my @allInts;
+ my @allAlphas;
+
+ for @list -> $string {
+ $string.split(q{ }).classify({
+ if $_ ~~ 0..9 {
+ 'integer'
+ } elsif $_ ~~ $_ ~~ 'a'..'z' {
+ 'alpha';
+ }
+ },
+ :as({ $_ ~~ 'a'..'z' ?? "'$_'" !! $_; }),
+ :into( my %type )
+ );
+
+ if %type{'integer'} {
+ @allInts.push(%type{'integer'});
+ }
+ if %type{'alpha'} {
+ @allAlphas.push(%type{'alpha'});
+ }
+ }
+
+ say printArray(@allInts), ' and ', printArray(@allAlphas);
+} \ No newline at end of file