diff options
| author | Adam Russell <ac.russell@live.com> | 2020-02-02 18:58:34 -0500 |
|---|---|---|
| committer | Adam Russell <ac.russell@live.com> | 2020-02-02 18:58:34 -0500 |
| commit | 1b8dfc8dd6d18210b0a1f3405f979da781ca8aef (patch) | |
| tree | f0dc70a2b21e47d87c733458c64cd0912661433e /challenge-045 | |
| parent | 50f57a2e61b5f8a67894cb5fb1963c2c419ace76 (diff) | |
| download | perlweeklychallenge-club-1b8dfc8dd6d18210b0a1f3405f979da781ca8aef.tar.gz perlweeklychallenge-club-1b8dfc8dd6d18210b0a1f3405f979da781ca8aef.tar.bz2 perlweeklychallenge-club-1b8dfc8dd6d18210b0a1f3405f979da781ca8aef.zip | |
solution for challenge 045
Diffstat (limited to 'challenge-045')
| -rw-r--r-- | challenge-045/adam-russell/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-045/adam-russell/perl/ch-1.pl | 28 | ||||
| -rw-r--r-- | challenge-045/adam-russell/perl/ch-2.pl | 3 |
3 files changed, 32 insertions, 0 deletions
diff --git a/challenge-045/adam-russell/blog.txt b/challenge-045/adam-russell/blog.txt new file mode 100644 index 0000000000..1f72f69f49 --- /dev/null +++ b/challenge-045/adam-russell/blog.txt @@ -0,0 +1 @@ +https://adamcrussell.livejournal.com/15213.html diff --git a/challenge-045/adam-russell/perl/ch-1.pl b/challenge-045/adam-russell/perl/ch-1.pl new file mode 100644 index 0000000000..abf9ed62f9 --- /dev/null +++ b/challenge-045/adam-russell/perl/ch-1.pl @@ -0,0 +1,28 @@ +use strict; +use warnings; +## +# Write a script that accepts a message from the +# command line and prints the equivalent square secret +# coded message. +## +use constant SQUARE_SIZE => 8; +sub encode{ + my($message) = @_; + $message =~ tr/ //d; + my $encoded; + my @buckets; + my @characters = split(//, lc($message)); + for my $i (0 .. @characters){ + $buckets[$i % SQUARE_SIZE] = [] if !$buckets[$i % SQUARE_SIZE]; + push @{$buckets[$i % SQUARE_SIZE]}, $characters[$i] if $characters[$i]; + } + for my $bucket (@buckets){ + $encoded .= join("", @{$bucket}) . " "; + } + return $encoded; +} + +MAIN:{ + my $message = $ARGV[0]; + print encode($message) . "\n"; +} diff --git a/challenge-045/adam-russell/perl/ch-2.pl b/challenge-045/adam-russell/perl/ch-2.pl new file mode 100644 index 0000000000..7ef7172462 --- /dev/null +++ b/challenge-045/adam-russell/perl/ch-2.pl @@ -0,0 +1,3 @@ +print<<''x2,"\n" +print<<''x2,"\n" + |
