use strict; use warnings; use Data::Dumper; my $scalar = 'foo'; my $other = 'bar'; print "\tStandalone\n"; print "\$scalar='$scalar'\n"; print "\tLoopy\n"; eval "print \"\$_='$_'\n\"" foreach ('$scalar', '$other'); print "\tNow using a sub just because you can\n"; debug('$scalar'); sub debug { eval "print \"\$_='$_'\n\"" while ($_ = shift) } my $variables = {scalar=>$scalar, other=>$other, relations=>{numbers=>{fib=>[0,1,1,2,3,5,8], pi=>22/7}, words=>{foo=>'bar', apple=>'fritter', password=>'$5hammer'}}}; $variables->{other} = 'baz'; print Dumper $variables;