So stellen Sie fest, ob eine Datei in Perl vorhanden ist

Perl verfügt über eine Reihe nützlicher Dateitestoperatoren, mit denen überprüft werden kann, ob eine Datei vorhanden ist oder nicht. Darunter ist -e, Hiermit wird überprüft, ob eine Datei vorhanden ist. Diese Informationen können hilfreich sein, wenn Sie an einem Skript arbeiten, das Zugriff auf eine bestimmte Datei benötigt, und Sie möchten sicherstellen, dass die Datei vorhanden ist, bevor Sie Vorgänge ausführen. Wenn Ihr Skript beispielsweise ein Protokoll oder eine Konfigurationsdatei enthält, von der es abhängt, suchen Sie zuerst danach. Das folgende Beispielskript gibt einen beschreibenden Fehler aus, wenn mit diesem Test keine Datei gefunden wird.

#! / usr / bin / perl
$ filename = '/path/to/your/file.doc';
if (-e $ filename)
print "Datei existiert!";

Zunächst erstellen Sie eine Zeichenfolge, die den Pfad zu der Datei enthält, die Sie testen möchten. Dann wickelst du die -e (exists) -Anweisung in einem bedingten Block, sodass die print -Anweisung (oder was auch immer Sie dort einfügen) nur aufgerufen wird, wenn die Datei existiert. Sie können das Gegenteil überprüfen - dass die Datei nicht vorhanden ist -, indem Sie den Befehl verwenden es sei denn bedingt:

Es sei denn (-e $ Dateiname) 
print "Datei existiert nicht!";

Andere Dateitestoperatoren

Sie können mit den Operatoren "und" (&&) oder "oder" (||) auf zwei oder mehr Dinge gleichzeitig testen. Einige andere Perl-Datei-Testoperatoren sind:

  • -r prüft, ob die Datei lesbar ist
  • -w prüft, ob die Datei schreibbar ist
  • -x prüft, ob die Datei ausführbar ist
  • -z prüft, ob die Datei leer ist
  • -f prüft, ob die Datei eine reine Datei ist
  • -d prüft, ob die Datei ein Verzeichnis ist
  • -l prüft, ob es sich bei der Datei um eine symbolische Verknüpfung handelt

Mithilfe eines Dateitests können Sie Fehler vermeiden oder auf einen Fehler aufmerksam machen, der behoben werden muss.