В Perl, если задан путь к файлу, как вы находите первого существующего предка?Как вы получаете первый существующий каталог предков, заданный путь к файлу?
Например:
- Если данный путь
/opt/var/DOES/NOT/EXIST/wtv/blarg.txt
и каталог/opt/var/DOES/
нет, но каталог/opt/var/
это, результат должен быть/opt/var/
. - Если задан путь
/home/leguri/images/nsfw/lena-full.jpg
и каталог/home/leguri/images/nsfw/
не существует, но каталог/home/leguri/images/
, результат должен быть/home/leguri/images/
.
Есть ли модуль или функция, которая делает это, или это просто вопрос разделения пути на /
и тестирование на существование?
путь начинается с '/': '/ Opt/вар/ДЕЛАЕТ/NOT/EXIST/WTV/blarg.txt' – Toto
Если вы поставляете полностью фиктивными по отношению path ('bogus/relative/path'), метод возвращает текущий рабочий каталог (' .'), который может или не может быть тем, что хочет OP. Кроме того, по крайней мере, в Windows, если '$ path' использует несуществующий том, цикл' while' не завершается. – FMc