Zu meinem Perl-Skript wird eine Datei als Argument übergeben. Die Datei kann eine .txt
-Datei oder eine .zip
-Datei sein, die die .txt
-Datei enthält.
Ich möchte Code schreiben, der ungefähr so aussieht
%Vor% Eine Möglichkeit, die Erweiterung zu überprüfen, besteht darin, eine Aufteilung auf .
durchzuführen und dann das letzte Ergebnis im Array zu vergleichen (zurückgegeben durch Split).
Gibt es einen besseren Weg?
Sie können dazu File :: Basename verwenden.
%Vor%Dies führt zu:
%Vor% Eine andere Lösung ist die Verwendung von File::Type
, die den Typ der Binärdatei bestimmt.
Auf diese Weise müssen Sie sich nicht mit fehlenden / falschen Erweiterungen befassen.
Warum verlassen Sie sich auf die Dateierweiterung? Versuchen Sie einfach, die entsprechende Exception-Behandlung zu entpacken und zu verwenden:
%Vor%Ich weiß, diese Frage schon einige Jahre alt, aber für alle, die hier in der Zukunft kommen, eine einfache Möglichkeit, einen Dateipfad in seine konstituierenden Pfad, Dateinamen, Basisnamen und Erweiterung auseinander zu brechen ist wie folgt.
%Vor%Sie können die Ergebnisse mit den folgenden Ergebnissen testen.
%Vor%Hoffe, das hilft.