diff options
| -rwxr-xr-x | challenge-032/anton-fedotov/perl5/ch-1.pl | 47 | ||||
| -rw-r--r-- | challenge-032/anton-fedotov/perl5/example0.txt | 13 | ||||
| -rw-r--r-- | challenge-032/anton-fedotov/perl5/example1.txt | 18 | ||||
| -rw-r--r-- | challenge-032/anton-fedotov/perl5/example2.txt | 12 |
4 files changed, 90 insertions, 0 deletions
diff --git a/challenge-032/anton-fedotov/perl5/ch-1.pl b/challenge-032/anton-fedotov/perl5/ch-1.pl new file mode 100755 index 0000000000..30488cf93c --- /dev/null +++ b/challenge-032/anton-fedotov/perl5/ch-1.pl @@ -0,0 +1,47 @@ +#!/usr/bin/env perl + +######################### +# Challenge 032, part 1 # +######################### + +use strict; +use warnings; +use v5.10; + +my $encoding = ':encoding(UTF-8)'; + +binmode STDIN, $encoding; +binmode STDOUT, $encoding; + +my %words; +my $space_pos = 15; + +# Reading and counting all words from +# all files +while (my $file_name = shift) { + open (my $file_handle, "< $encoding", $file_name) + or die "Can't open file $file_name: $!"; + while (<$file_handle>) { + chomp; + $words{$_}++ if defined $words{$_}; + $words{$_} = 1 unless defined $words{$_}; + } + close $file_handle; +} + +# Sorting all words by the number of +# occurrences +for my $word (sort { $words{$b} <=> $words{$a} } keys %words) { + my $spaces = count_spaces($word); + say $word.$spaces.$words{$word}; +} + +# Subfunction for calculating the number +# of spaces to position $space_pos +sub count_spaces { + my $word = shift; + my $n_spaces = $space_pos - length $word; + my $spaces = ' '; + for (1 .. $n_spaces) {$spaces = $spaces . ' '} + return $spaces; +} diff --git a/challenge-032/anton-fedotov/perl5/example0.txt b/challenge-032/anton-fedotov/perl5/example0.txt new file mode 100644 index 0000000000..943f4f93ab --- /dev/null +++ b/challenge-032/anton-fedotov/perl5/example0.txt @@ -0,0 +1,13 @@ +чебурашка +чебурашка +банан +лол +кек +чебурек +мем +чебурашка +мем +супер кек +дарт вейдер +люк +дарт вейдер diff --git a/challenge-032/anton-fedotov/perl5/example1.txt b/challenge-032/anton-fedotov/perl5/example1.txt new file mode 100644 index 0000000000..bea37d6f0e --- /dev/null +++ b/challenge-032/anton-fedotov/perl5/example1.txt @@ -0,0 +1,18 @@ +чебурашка +чебурашка +банан +лол +кек +чебурек +мем +чебурашка +мем +супер кек +дарт вейдер +люк +дарт вейдер +perl +perl +perl +raku +raku diff --git a/challenge-032/anton-fedotov/perl5/example2.txt b/challenge-032/anton-fedotov/perl5/example2.txt new file mode 100644 index 0000000000..427e9fcaa0 --- /dev/null +++ b/challenge-032/anton-fedotov/perl5/example2.txt @@ -0,0 +1,12 @@ +perl +raku +camel +camelia +camel +camelia +camelia +camelia +camel +camel +perl +perl |
