in reply to Re: Regex Interpolation
in thread Regex Interpolation

I re-wrote that line, trying to make that swap at a different place in the code, here is what I found:
print "$retVal\n"; print "Success!\n" if $retVal=~s/showpos=1/showpos=$main::pageVar1/; print "$retVal\n"; print "$main::pageVar\n";
returns this:
catCount=0&prodCount=36&show=prod&showpos=1&searchtxt=chip ... (The rest is irrelevant)
Success!
catCount=0&prodCount=36&show=prod&showpos=&searchtxt=chip
1

What I want to see here is the section "showpos=" to contain the value of $main::pageVar next to a number one.

Regards,
spectre

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE5U4KjQY9UwXAsuBQRAtnrAJ4tREiYW93esFhsZjLPQ21UJLPTQQCePU7A
6c5CzwVZr80Cs5vo3MJH5Ow=
=7nk0
-----END PGP SIGNATURE-----

Replies are listed 'Best First'.
RE: RE: Re: Regex Interpolation
by Anonymous Monk on Jun 24, 2000 at 07:48 UTC
    The problem comes from the 1 at the end of $main::pageVar. Perl thinks that the variable is $main::pageVar1. To distinguish the variable from the literal 1 change the variable reference to ${main::pageVar} so that the regex looks like print "Success!\n" if $retVal=~s/showpos=1/showpos=${main::pageVar}1/;