diff options
| author | Ruben Westerberg <drclaw@mac.com> | 2019-08-18 11:36:48 +1000 |
|---|---|---|
| committer | Ruben Westerberg <drclaw@mac.com> | 2019-08-18 11:36:48 +1000 |
| commit | 2cc2c414fdce3df9f748c3c408feb328b4d30b48 (patch) | |
| tree | 7fb4154a371c06651fdd508db4431ad009945479 /challenge-021 | |
| parent | 5796c33fad4e1d36bf2aafe0ba452d0c51039a16 (diff) | |
| download | perlweeklychallenge-club-2cc2c414fdce3df9f748c3c408feb328b4d30b48.tar.gz perlweeklychallenge-club-2cc2c414fdce3df9f748c3c408feb328b4d30b48.tar.bz2 perlweeklychallenge-club-2cc2c414fdce3df9f748c3c408feb328b4d30b48.zip | |
Added ch2 for p6
Diffstat (limited to 'challenge-021')
| -rwxr-xr-x | challenge-021/ruben-westerberg/perl5/ch-1.pl | 1 | ||||
| -rwxr-xr-x | challenge-021/ruben-westerberg/perl5/ch-2.pl | 5 | ||||
| -rwxr-xr-x | challenge-021/ruben-westerberg/perl6/ch-2.p6 | 20 |
3 files changed, 20 insertions, 6 deletions
diff --git a/challenge-021/ruben-westerberg/perl5/ch-1.pl b/challenge-021/ruben-westerberg/perl5/ch-1.pl index 4af2eb221f..669f076aad 100755 --- a/challenge-021/ruben-westerberg/perl5/ch-1.pl +++ b/challenge-021/ruben-westerberg/perl5/ch-1.pl @@ -14,5 +14,4 @@ while ($i <= $degree ) { state $fac=1; $sum+=1/($fac*=$i++); } -#printf "Eulers constant to $degree terms:\n%s\n",$sum->as_float(100); printf "Eulers constant to $degree terms:\n%s\n",$sum; diff --git a/challenge-021/ruben-westerberg/perl5/ch-2.pl b/challenge-021/ruben-westerberg/perl5/ch-2.pl index 05b23a5fbe..e2cf7d0afa 100755 --- a/challenge-021/ruben-westerberg/perl5/ch-2.pl +++ b/challenge-021/ruben-westerberg/perl5/ch-2.pl @@ -1,9 +1,4 @@ #!/usr/bin/env perl - -my $uri=$ARGV[0]//"http://my.test.url/where/is/../it"; -#split -# -#Reuse code from week 17 use strict; use warnings; use v5.26; diff --git a/challenge-021/ruben-westerberg/perl6/ch-2.p6 b/challenge-021/ruben-westerberg/perl6/ch-2.p6 new file mode 100755 index 0000000000..204001f1f1 --- /dev/null +++ b/challenge-021/ruben-westerberg/perl6/ch-2.p6 @@ -0,0 +1,20 @@ +#!/usr/bin/env perl6 + +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 % +$URI=S:g/(<-[0..9a..zA..Z\-_.~\%\!\*\'\(\)\;\:\@\&\=\+\$\,\/\?\#\[\]]>)/{sprintf("%%%2X",ord $0.Str)}/ given $URI; + +#Normalize decode any encoded unresreved characters. Normalize encoding to upper case +$URI=S:g/\%(<[a..fA..F0..9]>**2)/{decode($0)}/ given $URI; +sub decode ($h){ + my $c=chr :16($h.Str); + /<[0..9a..zA..Z\-_.~]>/ ?? $c!!uc "%$h" given $c; + #"AAA"; +} + +#Scheme to lower case +$URI=S/^(<[a..zA..Z]><[a..zA..Z\-\.\+]>+)/{uc $0}/ given $URI; + +print "Normalized URI:\t$URI\n"; |
