welcome: please sign in

Cerca

Link Dipartimentali

Link Esterni

Allegato "29giu18perl.pl"

Scarica

   1 #!/usr/bin/perl
   2 
   3 # Check dei parametri
   4 $option = shift || die "Too few arguments - missing option ! $!";
   5 $folder = shift || die "Too few arguments in input - missing folder ! $!" if ($option eq "--sync");
   6 $filename = $option if ($option ne "--sync");
   7 die "Too much parameters in input ! $!" if($#ARGV >= 0);
   8 
   9 if ($option eq "--sync") {
  10     @file_list = qx{ls -aR $folder};
  11 
  12 #    $checkIfExist = qx{file database.db};
  13 #    if (! ($checkIfExist =~ m/No such file or directory/)) {
  14 
  15     # if (-e "path/file") è una shortcut per chiedere a perl se un file esiste oppure no
  16     if (-e "database.db") {
  17         open($fh, "<", "database.db") || die "Cannot open file in read mode ! $!";
  18         @arrayFile = <$fh>;
  19         close $fh;
  20     }
  21     open($fh, ">", "database.db") || die "Cannot open file in write mode ! $!";
  22     foreach (@arrayFile) {
  23         # Se $folder fosse uguale alla directory "." si dovrebbe controllare l'attuale path della directory di lavoro (comando pwd)
  24         # per semplicità ignoriamo questo caso particolare
  25         print $fh $_ unless (m/$folder/);
  26     }
  27     foreach (@file_list) {
  28         chomp;
  29         if (m/^($folder.*)\s*:/) {
  30             $location = $1;
  31             next;
  32         }
  33         print $fh "$location --> $_\n" if (m/[^\.]/);
  34     }
  35     close $fh;
  36 }
  37 else {
  38     open($fh, "<", "database.db") || die "Cannot open file in read mode ! $!";
  39     
  40     while (<$fh>) {
  41         print "$1/$2\n" if (m/(.*)\s-->\s($filename.*)/);
  42     }
  43     close $fh;
  44 }

Allegati

Non è consentito inserire allegati su questa pagina.