home *** CD-ROM | disk | FTP | other *** search
/ CLIX - Fazer Clix Custa Nix / CLIX-CD.cdr / mac / lib / copyinstaller_ / copyinstaller_.rsrc / TEXT_128_!.txt < prev    next >
Text File  |  1999-10-07  |  1KB  |  85 lines

  1. #!/usr/bin/perl
  2. # jmc 1999
  3. # Usage: copyinstaller.pl src dest sync
  4.  
  5.  
  6. use File::Copy;
  7.  
  8.  
  9. $print = 0;
  10. $os = $^O;
  11.  
  12.  
  13. if (($os eq "linux") || ($os eq "sunos") || ($os eq "solaris"))
  14.    {
  15.    $sep = "/";
  16.    @files = split(/\//,$dest);
  17.    }
  18. elsif (($os eq "dos") || ($os eq "MSWin32"))
  19.    {
  20. $src = "c:\\temp";
  21. $dest = "c:\\lixo\\ooo\\iii";
  22. $sync_file = "c:\\lixo\\end";
  23.    $sep = "\\";
  24.    @files = split(/\\/,$dest);
  25.    }
  26. elsif ($os eq "MacOS")
  27.    {
  28. @VOL = &MacPerl'Volumes();
  29. $hd = $VOL[0];
  30. $hd =~ s/\:([^\:]*)$//;
  31. $hd = $1;
  32.  
  33. $src = "CLIX-CD:powermac";
  34. $dest = "$hd:clixinstaller";
  35. $sync_file = "$hd:clixinstaller:done_flag";
  36.  
  37.    $sep = ":";
  38.    @files = split(/\:/,$dest);
  39.    }
  40. else { exit(1); }
  41.  
  42.  
  43. $dir = shift(@files);
  44. foreach $item (@files)
  45.    {
  46.    if ($print) { print "mkdir <$dir$sep$item>\n"; }
  47.    mkdir("$dir$sep$item",0777);
  48.    $dir .= "$sep$item";
  49.    }
  50.  
  51. &recur("");
  52. open(OUT,">$sync_file");
  53. close(OUT);
  54.  
  55. if ($os eq "MacOS")
  56.    {
  57. &MacPerl'Quit(2);
  58.    }
  59.  
  60. sub recur
  61. {
  62. local($dir) = @_;
  63. local(@files,$item);
  64.  
  65. opendir(DIR,"$src$dir");
  66. @files = readdir(DIR);
  67. closedir(DIR);
  68.  
  69. foreach $item (@files)
  70.    {
  71.    if (($item eq ".") || ($item eq "..")) { next; }
  72.    if (-d "$src$dir$sep$item")
  73.       {
  74.       if ($print) { print "mkdir <$dest$dir$sep$item>\n"; }
  75.       mkdir("$dest$dir$sep$item",0777);
  76.       &recur("$dir$sep$item");
  77.       }
  78.    else
  79.       {
  80.       if ($print) { print "copy \"$src$dir$sep$item\" \"$dest$dir$sep$item\"\n"; }
  81.       copy("$src$dir$sep$item","$dest$dir$sep$item");
  82.       }
  83.    }
  84. }
  85.