On Jul 17, Kent, Mr. John (Contractor) said: >>As for your code: >> >>> my($MOSAIC_SCALE) = $query->param('MOSAIC_SCALE') || "20"; >>> {$MOSAIC_SCALE =~ /(\d+)/; >>> $MOSAIC_SCALE = $1; >> >>You should *never* use $DIGIT variables after a regex unless you're sure >>the regex *matched*. > >(In some cases I know the values will be digits).
I disagree. You can never be sure what *user* input to your application will be. Maybe it *should* be digits, but I can get around whatever JavaScript or other client-side form-field validation you supply. But it's not a taint-specific issue. *NEVER* use the $1, $2, etc. variables unless you are *SURE* the regex matches. How can you be sure? Use an if statement: if ($str =~ /regex/) { # use $1, $2, etc. } -- Jeff "japhy" Pinyan % How can we ever be the sold short or RPI Acacia Brother #734 % the cheated, we who for every service http://japhy.perlmonk.org/ % have long ago been overpaid? http://www.perlmonks.org/ % -- Meister Eckhart -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>