$ perl -Mstrict -Mwarnings -E 'my ($u, $p) = (q{W$X}, q{Y@Z}); say for $u, $p'
W$X
Y@Z
####
$ perl -Mstrict -Mwarnings -E 'my ($u, $p) = (qq{W$X}, qq{Y@Z}); say for $u, $p'
Possible unintended interpolation of @Z in string at -e line 1.
Global symbol "$X" requires explicit package name (did you forget to declare "my $X"?) at -e line 1.
Global symbol "@Z" requires explicit package name (did you forget to declare "my @Z"?) at -e line 1.
Execution of -e aborted due to compilation errors.
##
##
$ 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