use strict; use warnings; my $cmd = '/opt/sudo/sudo /usr/bin/su - $ENV{LOGNAME} -c "$someScript"'; $cmd = eval "\"$cmd\""; print($cmd, "\n"); #### Scalar found where operator expected at (eval 1) line 1, near ""/opt/sudo/sudo /usr/bin/su - $ENV{LOGNAME} -c "$someScript" (Missing operator before $someScript?) String found where operator expected at (eval 1) line 1, near "$someScript""" (Missing operator before ""?) Use of uninitialized value in print at 574310.pl line 5.