Frage : Using Perl muss ich überprüfen, ob alle Akten in einem bestimmten Verzeichnis mit einer bestimmten Zeichenfolge beginnen.

Ich schaue in $dir1, und alle Akten müssen mit EDI322.
I beginnen, das Teilketten der Akten using substr (@files, 0.6) erhalten versucht und mit einem ==, an eine fest verdrahtete Variable anzupassen, aber es funktioniert nicht wenn keine Akten exist.

Antwort : Using Perl muss ich überprüfen, ob alle Akten in einem bestimmten Verzeichnis mit einer bestimmten Zeichenfolge beginnen.

möglicherweise etwas Ähnliches dann…

mein $found = 0;
foreach mein $file (@files) {
    wenn (substr ($file, 0, 6) eq „EDI322“) {
       Druck „existieren \ n“;
       $found++;
    }
}
wenn (! $found) {
   Druck „=======The Ausgabedatei existiert nicht ========== \ n“;
   Druck MASCHINENBORDBUCH „=======The Ausgabedatei existiert nicht ========== \ n“;
   Druck Comp_LOG „NS LF Download-Prozessausfiel \ n“;
   sterben;
}


Andererseits, wenn alle, die Sie wissen möchten, wenn, ob @files keine Akten hat, mit EDI322 zu beginnen, dieses versuchen:
wenn (! Grep (/^EDI322/, @files)) {
   Druck „=======The Ausgabedatei existiert nicht ========== \ n“;
   Druck MASCHINENBORDBUCH „=======The Ausgabedatei existiert nicht ========== \ n“;
   Druck Comp_LOG „NS LF Download-Prozessausfiel \ n“;
   sterben;
}

Viel Glueck!
Weitere Lösungen  
 
programming4us programming4us