diff options
| author | Joelle Maslak <jmaslak@antelope.net> | 2019-11-10 08:25:03 -0700 |
|---|---|---|
| committer | Joelle Maslak <jmaslak@antelope.net> | 2019-11-10 08:25:03 -0700 |
| commit | 0b17b002f83d597b62bd8043edc0841d3b08cc9e (patch) | |
| tree | f1f18368f8d9021055373dffaba9cdfc7849751b /challenge-033 | |
| parent | 6a5cfa02c3366be6bc034b20c14fd973c43e78f9 (diff) | |
| download | perlweeklychallenge-club-0b17b002f83d597b62bd8043edc0841d3b08cc9e.tar.gz perlweeklychallenge-club-0b17b002f83d597b62bd8043edc0841d3b08cc9e.tar.bz2 perlweeklychallenge-club-0b17b002f83d597b62bd8043edc0841d3b08cc9e.zip | |
Joelle's solutions to 33.1 in Raku & Perl
Diffstat (limited to 'challenge-033')
| -rwxr-xr-x | challenge-033/joelle-maslak/perl5/ch-1.pl | 23 | ||||
| -rwxr-xr-x | challenge-033/joelle-maslak/perl6/ch-1.p6 | 22 |
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-033/joelle-maslak/perl5/ch-1.pl b/challenge-033/joelle-maslak/perl5/ch-1.pl new file mode 100755 index 0000000000..85565ee146 --- /dev/null +++ b/challenge-033/joelle-maslak/perl5/ch-1.pl @@ -0,0 +1,23 @@ +#!/usr/bin/env perl +use v5.16; +use strict; +use warnings; + +# We define letters as graphemes in any language supported by Perl that +# match the Alpha class. We display how many times each grapheme +# appears in the files. + +MAIN: { + my %letters; + while (<<>>) { + s/\P{Alpha}//gms; + for my $char (split //) { + $letters{fc $char}++; + } + } + + for my $key (sort keys %letters) { + say "$key: " . $letters{$key}; + } +} + diff --git a/challenge-033/joelle-maslak/perl6/ch-1.p6 b/challenge-033/joelle-maslak/perl6/ch-1.p6 new file mode 100755 index 0000000000..ff8a76589a --- /dev/null +++ b/challenge-033/joelle-maslak/perl6/ch-1.p6 @@ -0,0 +1,22 @@ +#!/usr/bin/env perl6 +use v6; + +# We define letters as graphemes in any language supported by Raku that +# match the <alpha> class. We display how many times each grapheme +# appears in the files. + +sub MAIN(+@filenames) { + my %letters; + for @filenames -> $fn { + my @chars = $fn.IO.lines.comb: /<alpha>/; + for @chars -> $char { + %letters{$char.fc}++; + } + } + + for %letters.keys.sort -> $key { + say "$key: {%letters{$key}}"; + } +} + + |
