in reply to How would I replace the string 'Red1' with $Red[1]?

Use an array (or a hash). What you're trying to do now smells like symbolic refrences, which are just yicky (to use the technical term ) and make your code harder to write and maintain.

You will also need to use the /e modifier (which causes Perl to eval the right-side as an expression).

use strict; my @red; $red[1]='black'; $red[2]='red'; $line =~ s/\$red(\d)/$red[$1]/ge;