Ich möchte einen Dateinamen ohne seinen Pfad (wenn es Teil der Zeichenfolge ist) und auch die Erweiterung abrufen.Entfernen Sie Dateierweiterung und Pfad aus einer Zeichenfolge in Perl
Zum Beispiel: „“
/path/to/file/fileName.txt # results in "fileName"
fileName.txt # results in "fileName"
/path/to/file/file.with.periods.txt # results in "file.with.periods"
Also im Grunde mag ich, bevor irgendetwas entfernen und mit dem letzten „/“ falls vorhanden und auch den letzten zusammen mit irgendwelchen Meta-Zeichen danach.
Sorry für solch eine neue Frage, aber ich bin neu in Perl.
Bezüglich basename habe ich gerade gelesen: "Diese Funktion wird aus Kompatibilitätsgründen mit dem Unix-Shell-Befehl basename (1) zur Verfügung gestellt. Es gibt NICHT immer den Dateinamen eines Pfades zurück, wie Sie vielleicht erwarten Der Dateiname Teil eines Pfades verwenden Sie fileparse() ". – Chris
Ja, es gibt mehr als eine Funktion im 'File :: Basename' Modul, und sie alle machen verschiedene Dinge. Wählen Sie den, der das tut, was Sie wollen. Zusätzlich existiert eine ähnliche Funktionalität in 'File :: Spec' als' splitpath'. – rafl