Vraag : Gebruikend perl, moet ik controleren als alle dossiers in een bepaalde folder met een bepaald karakterkoord beginnen.

Ik kijk in $dir1, en alle dossiers moeten met geprobeerde EDI322.
I beginnen ertoe brengend substrings van de dossiers gebruikend substr (@files, 0.6) en gebruikend een == om aan een hard gecodeerde variabele aan te passen maar het werkt niet als geen dossiers exist.

Antwoord : Gebruikend perl, moet ik controleren als alle dossiers in een bepaalde folder met een bepaald karakterkoord beginnen.

misschien iets in die aard toen…

mijn $found = 0;
foreach mijn $file (@files) {
    als (substr ($file, 0, 6) eq „EDI322“) {
       druk „er bestaat \ n“;
       $found++;
    }
}
als (! $found) {
   het dossier van de druk „=======The output bestaat niet ========== \ n“;
   het de outputdossier van het drukLOGBOEK „=======The bestaat niet ========== \ n“;
   het Proces van de Download van drukComp_LOG „NS LF ontbrak \ n“;
   matrijs;
}


Dan opnieuw als willen allen u weten of of @files geen dossiers heeft die met EDI322 beginnen, probeer dit:
als (! grep (/^EDI322/, @files)) {
   het dossier van de druk „=======The output bestaat niet ========== \ n“;
   het de outputdossier van het drukLOGBOEK „=======The bestaat niet ========== \ n“;
   het Proces van de Download van drukComp_LOG „NS LF ontbrak \ n“;
   matrijs;
}

Goed geluk!
Andere oplossingen  
 
programming4us programming4us