File::Basename — парсим file paths

Модуль File::Basename — используется для распарсивания пути к файлу, имени файла, расширения файла.

Модуль предоставляет для работы несколько функций, далее будут рассмотрены три из них: fileparse(), basename() и dirname() .

Функции dirname() и basename() имитируют работу одноименных функций в C и shell. Поэтому, имеет смысл, просмотреть документацию к каждой из функций.

Функция basename()

Функция basename() возвращает последний элемент заданного пути, не важно, что это будет — имя файла или каталога.

Можно указать суффикс, который будет исключен из возвращаемого результата. Данная особенность очень удобна, когда требуется получить только имя файла, без расширения.

Пример работы с функцией basename():

Пример работы с расширениями файлов:

Функция dirname()

В противоположность basename(), функция dirname() возвращает не последний элемент полученного пути, а все элементы, кроме последнего. В зависимости от используемой операционной системы, результаты работы функции могут различаться.

Функция fileparse()

Функция fileparse() — делит любой заданный путь на три элемента — «имя файла», «каталог» и «суффикс», и возвращает их в виде массива. Массив всегда содержит три элемента, которые иногда могут иметь пустые значения.

Пример работы с функцией fileparse():

Пример работы с расширениями файлов:

Полезные ссылки

search.cpan.org: File::Basename
man basename
man dirname