use warnings; use strict; my $str = q(cd / ; /path/to/R/R_latest --vanilla --args "fName='rGSDPlan';jobCode=682718;jobId=6827181;" < job682718.R > job_6827181.txt); my $new; my $out = 1; for (split //, $str) { $out = ! $out if /"/; $new .= (/;/ and $out) ? '&&' : $_; }