aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-11-12 18:18:55 +0000
committerGitHub <noreply@github.com>2023-11-12 18:18:55 +0000
commit90f9ea164af4ef6999a417a1208efdba29bd629f (patch)
treeec263abf42c71c0f6bb2c837039eebc6dc0445fe
parentaba93905136c1e2f1f010f52be16da259b452ddd (diff)
parentfe091476898d596d995afa255cebd0230fdb4678 (diff)
downloadperlweeklychallenge-club-90f9ea164af4ef6999a417a1208efdba29bd629f.tar.gz
perlweeklychallenge-club-90f9ea164af4ef6999a417a1208efdba29bd629f.tar.bz2
perlweeklychallenge-club-90f9ea164af4ef6999a417a1208efdba29bd629f.zip
Merge pull request #9044 from augiedb/branch-for-challenge-242
Challenge 242 submission for Challenge 1
-rw-r--r--challenge-242/augiedb/blog.txt1
-rw-r--r--challenge-242/augiedb/perl/ch-1.pl56
2 files changed, 57 insertions, 0 deletions
diff --git a/challenge-242/augiedb/blog.txt b/challenge-242/augiedb/blog.txt
new file mode 100644
index 0000000000..079bfbb8c8
--- /dev/null
+++ b/challenge-242/augiedb/blog.txt
@@ -0,0 +1 @@
+https://variousandsundry.com/missing-members-the-live-blog/
diff --git a/challenge-242/augiedb/perl/ch-1.pl b/challenge-242/augiedb/perl/ch-1.pl
new file mode 100644
index 0000000000..d9c145e383
--- /dev/null
+++ b/challenge-242/augiedb/perl/ch-1.pl
@@ -0,0 +1,56 @@
+use strict;
+use warnings;
+
+my @arr1 = (1,2,3);
+my @arr2 = (2,4,6);
+find_missing_members( \@arr1, \@arr2 );
+find_missing_members( \@arr2, \@arr1 );
+
+@arr1 = (1, 2, 3, 3);
+@arr2 = (1, 1, 2, 2);
+find_missing_members( \@arr1, \@arr2 );
+find_missing_members( \@arr2, \@arr1 );
+
+sub find_missing_members {
+
+ my @arr1 = @{ shift() };
+ my @arr2 = @{ shift() };
+
+ my @missing_from_second;
+ my %second_values;
+
+ map{ $second_values{$_} = 1; } @arr2;
+
+ @missing_from_second = grep{
+ !$second_values{$_};
+ } @arr1;
+
+ print pretty_print_array(@arr1);
+ print " has ";
+ print scalar( @missing_from_second ) . " members ";
+ print pretty_print_array(@missing_from_second);
+ print " missing in the array ";
+ print pretty_print_array(@arr2) , "\n";
+}
+
+## Re-using this code so often that I should
+## probably make it a module.
+
+sub pretty_print_array {
+
+ my @array = @_;
+ my $length = scalar @array;
+ my $count = 1;
+
+ print "(";
+
+ foreach my $value(@array) {
+ print $value;
+ print ", " if $count < $length;
+ $count++;
+ }
+
+ print ")";
+
+ return;
+}