diff options
| -rw-r--r-- | challenge-319/adam-russell/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-319/adam-russell/perl/ch-1.pl | 18 | ||||
| -rw-r--r-- | challenge-319/adam-russell/perl/ch-2.pl | 28 |
3 files changed, 47 insertions, 0 deletions
diff --git a/challenge-319/adam-russell/blog.txt b/challenge-319/adam-russell/blog.txt new file mode 100644 index 0000000000..a0b8863fb9 --- /dev/null +++ b/challenge-319/adam-russell/blog.txt @@ -0,0 +1 @@ +http://www.rabbitfarm.com/cgi-bin/blosxom/perl/2025/05/04 diff --git a/challenge-319/adam-russell/perl/ch-1.pl b/challenge-319/adam-russell/perl/ch-1.pl new file mode 100644 index 0000000000..11bc6ba2ab --- /dev/null +++ b/challenge-319/adam-russell/perl/ch-1.pl @@ -0,0 +1,18 @@ + + +use v5.40; + + + sub word_count{ + return 0 + grep { + $_ =~ m/^[aeiou]/ || $_ =~ m/.*[aeiou]$/ +} @_; + } + + +MAIN:{ + say word_count qw/unicode xml raku perl/; + say word_count qw/the weekly challenge/; + say word_count qw/perl python postgres/; +} + diff --git a/challenge-319/adam-russell/perl/ch-2.pl b/challenge-319/adam-russell/perl/ch-2.pl new file mode 100644 index 0000000000..8126c1b25a --- /dev/null +++ b/challenge-319/adam-russell/perl/ch-2.pl @@ -0,0 +1,28 @@ + + +use v5.40; + + sub minimum_common{ + my($u, $v) = @_; + + my %h = (); + my %h_u = map {$_ => undef} @{$u}; + my %h_v = map {$_ => undef} @{$v}; + my $minimum = -1; + do{ + $h{$_}++; + } for (keys %h_u, keys %h_v); + my @common = grep {$h{$_} > 1} keys %h; + if(0 < @common){ + $minimum = (sort {$a <=> $b} @common)[0]; + } + + return $minimum; + } + +MAIN:{ + say minimum_common [1, 2, 3, 4], [3, 4, 5, 6]; + say minimum_common [1, 2, 3], [2, 4]; + say minimum_common [1, 2, 3, 4], [5, 6, 7, 8]; +} + |
