my $temp = 'xxx$1'; my $repl = eval q{"$temp"}; #### use strict; use warnings; use 5.010; my $x = 10; my $result = sprintf '%s', 'my $y = $x;'; say $result; --output:-- my $y = $x; #### my $x = 10; eval (sprintf '%s', 'my $y = $x'); say $y; #line 14 --output:-- Global symbol "$y" requires explicit package name at 2perl.pl line 14. Execution of 2perl.pl aborted due to compilation errors. #### my $x = 10; eval {my $y = $x}; say $y; #line 14 --output:-- Global symbol "$y" requires explicit package name at 2perl.pl line 14. Execution of 2perl.pl aborted due to compilation errors.