use strict; my @varlist = ("foo", "bar", "baz"); my ($foo, $bar, $baz) = ("1", "2", "3"); my $newfoo = "A"; foreach my $var (@varlist) { my $newvarname = "new" . $var; if (defined $$newvarname) { $$var = $$newvarname; } }