This is vague and contradictory.
Please read "How do I post a question effectively?" and "SSCCE".
Most of what follows is pure guesswork in terms of what you actually need.
Use of non-interpolating quotes would normally suffice:
$ perl -Mstrict -Mwarnings -E 'my ($u, $p) = (q{W$X}, q{Y@Z}); say for
+ $u, $p'
W$X
Y@Z
Use of interpolating quotes would normally cause problems:
$ perl -Mstrict -Mwarnings -E 'my ($u, $p) = (qq{W$X}, qq{Y@Z}); say f
+or $u, $p'
Possible unintended interpolation of @Z in string at -e line 1.
Global symbol "$X" requires explicit package name (did you forget to d
+eclare "my $X"?) at -e line 1.
Global symbol "@Z" requires explicit package name (did you forget to d
+eclare "my @Z"?) at -e line 1.
Execution of -e aborted due to compilation errors.
See also quotemeta.
What you wrote about the "URI::escape" and (later) "uri_escape" doesn't make much sense.
URI has neither an escape() function nor a uri_escape() function;
URI::Escape has the latter.
Even my best guess at fixing typos doesn't help:
$ perl -Mstrict -Mwarnings -E 'use URI::Escape; my ($u, $p) = (q{W$X},
+ q{Y@Z}); say for uri_escape($u), uri_escape($p)'
W%24X
Y%40Z
We'll need some clarification on what you're actually doing here.
|