user
This task   (the reverse of   URL encoding   and distinct from   URL parser)   is to provide a function
or mechanism to convert an URL-encoded string into its original unencoded form.

Test cases

* The encoded string   "`http%3A%2F%2Ffoo%20bar%2F`"   should be reverted to the unencoded form   "`http://foo bar/`".

* The encoded string   "`google.com/search?q=%60Abdu%27l-Bah%C3%A1`"   should revert to the unencoded form   "`google.com/search?q=`Abdu'l-Bahá`".

* The encoded string   "`%25%32%35`"   should revert to the unencoded form   "`%25`" and **not** "`%`".
assistant
(formerly Perl 6)

```
my @urls = < http%3A%2F%2Ffoo%20bar%2F
             google.com/search?q=%60Abdu%27l-Bah%C3%A1 >;

say .subst( :g,
    / [ '%' ( <xdigit> ** 2 ) ]+ / ,
    { Blob.new((:16(~$_) for $0)).decode }
    ) for @urls;

```

Output:

```
http://foo bar/
google.com/search?q=`Abdu'l-Bahá
```