Почему File :: Spec удаляет './' для файлов в подкаталогах? - PullRequest
0 голосов
/ 06 февраля 2019

File::Spec - это основной модуль для «переносимого выполнения операций с именами файлов» .Такое поведение имеет смысл для меня,

# returns ./foo
File::Spec->catfile(".", "foo");

Однако, это ошеломило меня.

# returns foo/bar
File::Spec->catfile(File::Spec->catfile(".", "foo"), "bar");
File::Spec->catfile("./foo", "bar");

Для библиотеки, которая должна стандартизировать этот материал, почему мой ./ушел?Есть ли причина для такого поведения?

Просто странно, что это возвращается,

CP-JobApp/t/lib/Testing.pm
CP-JobApp/t/pod.t
CP-JobApp/t/find.t
./h
./problem1.pl

Это нормально для пост-обработки имен файлов, возвращаемых модулем?

1 Ответ

0 голосов
/ 06 февраля 2019

File :: Spec :: Unix канонизирует часть пути к каталогу.

Почему он не канонизирует весь путь (так что catfile('.', 'file') производит file)?Без понятия.Это кажется упущением для меня.Не стесняйтесь подать отчет об ошибке.

...