>
>
>client=xxxxxxxx& # 8 digits and then ampersand
>
>so what I want to strip out is stuff like:
>
>client=23894749&
>
You want something like:
$url =~ s/client=\d\d\d\d\d\d\d\d&//;
or if you don't want to count those \d's
$url =~ s/client=\d{8}&//;
And since cilent=XXXXXXXX& probably can probably occur anywhere in the
string, you might want to use match all cases:
$url =~ s/client=\d{8}&//;
# changes
http://foo.bar.com/page?stuff=value&client=12345678&morestuff=differentvalue
# to http://foo.bar.com/page?stuff=value&morestuff=differentvalue
$url =~ s/&client=\d{8}//;
# changes
http://foo.bar.com/page?stuff=value&morestuff=differntvalue&client=12345678
# to http://foo.bar.com/page?stuff=value&morestuff=differentvalue
$url =~ s/\?client=\d{8}$//;
# changes http://foo.bar.com/page?client=\d{8}
# to http://foo.bar.com/page
Notice the '?' and the '$' in the last one. The '$' matches the end of
the string. The '?' is a special character that means 0 or 1 of the
previous. Since we want to simply match a literal '?' we need to escape
it by using a backslash: '\?'. If you really wanted to you can escape
all the non-alphanumeric characters. Its hard to remember what needs
escaped and what doesn't.
You can roll all of these together by using:
$url =~ s/(client=\d{8}&|&client=\d{8}|\?client=\d{8}$)//;
- Johnathan
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]