I am trying to execute a system command. The problem is that 1) there is a space in the directory name for the directory path, and 2) there is a pipe and a redirection.
I have read that the solution to the first problem is to pass the arguments as an array to system(). But when I try to pass the arguments as an array, I run into the second problem which is that the pipe and redirect do not work when they are passed to system() in the array, apparently because Perl forks a new process and does not have access to shell commands like pipe and redirect. What's the solution?
my $backup_dir = "/home/username/Ubuntu One";
# dump the database and gzip it
my @mysqldump = ("mysqldump","--add-drop-table","-uroot","-ppassword",
mysqldump: unknown option '-9'