my $varA = "this is varA"; my $varB = "this is varB"; my $varC; print "\n"; ## my @vars = ( $varA, $varB, $varC ); my @vars = ( \$varA, \$varB, \$varC ); foreach my $f ( @vars ) { if ( defined $$f ) { print "--- $$f \n"; my $tmp = $$f . " and some more "; print "----- $tmp \n"; no strict 'refs'; ## ${$f} = $tmp; ## ${"f"} = $tmp; ## my $ref = \$f; $ref = $tmp; my $f = \$tmp; use strict; print "===== $$f \n"; } } print "\n"; foreach my $f ( @vars ) { print "+ $f \n"; } print "\n";