diff options
| author | Abigail <abigail@abigail.be> | 2021-01-29 20:16:45 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-01-30 17:51:26 +0100 |
| commit | dd53a9936ba3e10841194b2c50134ecbde1060a1 (patch) | |
| tree | 3323853a781e9ddbf2a68f7d1831d74fb580a8c1 | |
| parent | 057ae84b2540d506fcdafaa19692538f7c2e18d5 (diff) | |
| download | perlweeklychallenge-club-dd53a9936ba3e10841194b2c50134ecbde1060a1.tar.gz perlweeklychallenge-club-dd53a9936ba3e10841194b2c50134ecbde1060a1.tar.bz2 perlweeklychallenge-club-dd53a9936ba3e10841194b2c50134ecbde1060a1.zip | |
Improvements for the Perl solution of week 97, part 1
| -rw-r--r-- | challenge-097/abigail/perl/ch-1.pl | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/challenge-097/abigail/perl/ch-1.pl b/challenge-097/abigail/perl/ch-1.pl index 7558150f4d..b73991738c 100644 --- a/challenge-097/abigail/perl/ch-1.pl +++ b/challenge-097/abigail/perl/ch-1.pl @@ -17,16 +17,23 @@ use experimental 'lexical_subs'; # Run as: perl ch-1.pl -s SHIFT < input-file # +my $NR_OF_LETTERS = 26; +my $ORD_A = ord ('A'); + use Getopt::Long; GetOptions 's=i' => \my $shift; -die "-s option required" unless defined $shift; +die "-s SHIFT option required" unless defined $shift; -$shift %= 26; +$shift %= $NR_OF_LETTERS; while (<>) { chomp; - s/([A-Z])/my $ch = ord ($1) - $shift; $ch += 26 if $ch < 65; chr $ch/eg; + s {([A-Z])} + { my $ch = ord ($1) - $shift; + $ch += $NR_OF_LETTERS if $ch < $ORD_A; + chr $ch + }eg; say; } |
