#!/usr/bin/perl
if (exists $ARGV[0]){
    $path=$ARGV[0];
    chomp($path);
    @contenuto=qx(ls -l $path|head +2);
    qx(permissions.log); 
    foreach (@contenuto) {
        @splittedInfo = split(/\s+/, $_);
        $valido=1;
        chomp($splittedInfo[8]);
        if ($splittedInfo[0]=~ /(^[d-])(\d{3})(\d{3})(\d{3})/){
            if($1=="d"){
                $perm=755;
            } else {
                $perm=644;
            }
            if ($2 ne "rwx" and $3 ne "r-x" and $4 ne "r-x" ){
                $valido=0;
            }
            if ($valido == 0){
                $new_line=$splittedInfo[8];
                $error_text=qx(chmod $perm $new_line);
                $toAdd=$new_line."\nchmod $perm $new_line\n";
                if ($error_text eq ""){
                    $toAdd.="OPERAZIONE OK\n";
                } else {
                    $toAdd.=$error_text."\n"
                }
                qx(echo "$toAdd" > permissions.log);
            }
        }
        
    }
        
} else {
    die "Non hai passato il path \n";
}