I am trying to write the debug function below that will display both commands and variables if in debug mode and ask before executing a command. However, the exec command doesn't seem to be working as I inteded. What am I doing wrong?
{
# executing a DOS copy command
&Debug("system(\"copy c:\\oldversion.txt c:\\version.txt \");", 1);
}
sub Debug
{
my ($display, $executeable) = (@_);
if ( $debug == 1 )
{
print "$display\n";
if ($executeable == 1)
{
print "Do you wish to execute? (y/n):";
my $answer = <STDIN>;
chomp($answer);
if ($answer ne "y" && $answer ne "Y" )
{
print "\n";
$executeable = 0;
}
}
}
if ($executeable == 1)
{
eval { $display };
if ($@) # $@ contains the exception that was thrown
{
print "Exception $@";
}
print "$display executed\n";
}
}