diff --git a/utils/scan-build b/utils/scan-build
index 227ea1f..ae64768 100755
--- a/utils/scan-build
+++ b/utils/scan-build
@@ -269,7 +269,7 @@
   
   close (ROUT);
   close (RIN);
-  `mv "$fname.tmp" "$fname"`;
+  system("mv", "$fname.tmp", $fname);
 }
 
 ##----------------------------------------------------------------------------##
@@ -294,14 +294,14 @@
 
   if (defined($AlreadyScanned{$digest})) {
     # Redundant file.  Remove it.
-    `rm -f "$Dir/$FName"`;
+    system ("rm", "-f", "$Dir/$FName");
     return;
   }
   
   $AlreadyScanned{$digest} = 1;
   
   # At this point the report file is not world readable.  Make it happen.
-  `chmod 644 "$Dir/$FName"`;
+  system ("chmod", "644", "$Dir/$FName");
   
   # Scan the report file for tags.
   open(IN, "$Dir/$FName") or DieDiag("Cannot open '$Dir/$FName'\n");
@@ -344,7 +344,7 @@
   DieDiag("Cannot find 'sorttable.js'.\n")
     if (! -r "$RealBin/sorttable.js");  
 
-  `cp "$RealBin/sorttable.js" "$Dir"`;
+  system ("cp", "$RealBin/sorttable.js", "$Dir");
 
   DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
     if (! -r "$Dir/sorttable.js");
@@ -373,10 +373,10 @@
 
   if (scalar(@files) == 0) {
     Diag("Removing directory '$Dir' because it contains no reports.\n");
-    `rm -fR "$Dir"`;
+    system ("rm", "-fR", $Dir);
     
     # Remove the base directory if it contains no files (don't use '-R').
-    `rm -f "$BaseDir"`;
+    system ("rm", "-f", $BaseDir);
     
     Diag("No bugs found.\n");
     return;
@@ -546,13 +546,13 @@
   
   print OUT "</table>\n</body></html>\n";  
   close(OUT);
-  
+
   CopyJS($Dir);
-  
-  # Make sure $Dir and $BaseDir is world readable/executable.
-  `chmod 755 "$Dir"`;
-  `chmod 755 "$BaseDir"`;
-  
+
+  # Make sure $Dir and $BaseDir are world readable/executable.
+  system("chmod", "755", $Dir);
+  system("chmod", "755", $BaseDir);
+
   my $Num = scalar(@Index);
   Diag("$Num bugs found.\n");
   if ($Num > 0 && -r "$Dir/index.html") {
@@ -827,7 +827,7 @@
 if ($ViewResults and -r "$HtmlDir/index.html") {
   # Only works on Mac OS X (for now).
   print "Viewing analysis results: '$HtmlDir/index.html'\n";
-  `open "$HtmlDir/index.html"`
+  system("open", "$HtmlDir/index.html");
 }
 
 exit $ExitStatus;
