From 349d1e2258b2d28b179e4fffe38185601400b0f2 Mon Sep 17 00:00:00 2001 From: Ruben Westerberg Date: Sun, 18 Aug 2019 12:16:12 +1000 Subject: Tidy up and README --- challenge-021/ruben-westerberg/README | 10 +++++++--- challenge-021/ruben-westerberg/perl5/ch-2.pl | 4 ++-- challenge-021/ruben-westerberg/perl6/ch-2.p6 | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/challenge-021/ruben-westerberg/README b/challenge-021/ruben-westerberg/README index ac61aa2e27..1f319161be 100644 --- a/challenge-021/ruben-westerberg/README +++ b/challenge-021/ruben-westerberg/README @@ -2,9 +2,13 @@ Solution by Ruben Westerberg ch-1.pl and ch-1.p6 === -Run the program with a single command line argument to splt the argument on dissimilar character boundaries. -If no argument is provided a demo string is used. +Run with a single argument. Argument is the number of terms to add in calculating Eulers number. If no argument is given, a default of 10 terms are used. ch-2.pl and ch-2.p6 === -run the program to find the smallest Amicable numbers +Run with a single argument. Argument is a URI which is normalized (no semantic changes). If no argument is given a test URI is used. +- Normalizes scheme to lower case +- Normalize % codes to upper case +- decode unreserved % codes if present +- encode any characters outside of reserved or unreserved codes. + diff --git a/challenge-021/ruben-westerberg/perl5/ch-2.pl b/challenge-021/ruben-westerberg/perl5/ch-2.pl index e2cf7d0afa..eda2228fa5 100755 --- a/challenge-021/ruben-westerberg/perl5/ch-2.pl +++ b/challenge-021/ruben-westerberg/perl5/ch-2.pl @@ -3,7 +3,7 @@ use strict; use warnings; use v5.26; -my $URI=$ARGV[0]//'http://a.uri/with/strange%65characters{}?query=true#frag<>'; +my $URI=$ARGV[0]//'HTTP://a.uri/with/strange%65characters{}?query=true#frag<>'; print "Original URI:\t$URI\n"; #%Encode any character outside of restriced and unrestricted set except % @@ -18,6 +18,6 @@ sub decode { } #Scheme to lower case -$URI=~s/^([a-zA-Z][a-zA-Z\-\.\+]+)/{uc $1}/e; +$URI=~s/^([a-zA-Z][a-zA-Z\-\.\+]+)/{lc $1}/e; print "Normalized URI:\t$URI\n"; diff --git a/challenge-021/ruben-westerberg/perl6/ch-2.p6 b/challenge-021/ruben-westerberg/perl6/ch-2.p6 index 204001f1f1..973fe06cb1 100755 --- a/challenge-021/ruben-westerberg/perl6/ch-2.p6 +++ b/challenge-021/ruben-westerberg/perl6/ch-2.p6 @@ -1,6 +1,6 @@ #!/usr/bin/env perl6 -my $URI=@*ARGS[0]//'http://a.uri/with/strange%65characters{}?query=true#frag<>'; +my $URI=@*ARGS[0]//'HTTP://a.uri/with/strange%65characters{}?query=true#frag<>'; print "Original URI:\t$URI\n"; #%Encode any character outside of restriced and unrestricted set except % @@ -15,6 +15,6 @@ sub decode ($h){ } #Scheme to lower case -$URI=S/^(<[a..zA..Z]><[a..zA..Z\-\.\+]>+)/{uc $0}/ given $URI; +$URI=S/^(<[a..zA..Z]><[a..zA..Z\-\.\+]>+)/{lc $0}/ given $URI; print "Normalized URI:\t$URI\n"; -- cgit