Emacs смущен кавычками в выражении qr
. Работает стандартный разделитель регулярных выражений (/):
fileparse($file, qr/\.[^.]+$/);
На самом деле почти все остальное работает.
fileparse($file, qr{(\.[^.]+$/});
fileparse($file, qr*\.[^.]+$*);
fileparse($file, qr#\.[^.]+$#);
Моя версия VIM не смущает кавычки, но я знаю, что старые версии VIM это делали. Размещение кавычек действительно сбивает с толку, потому что выражение qr
выглядит как строка (а это не так). Обычно плохая политика - использовать кавычки в качестве разделителей в регулярных выражениях, даже если это технически допустимо.
Однако, действительно важный вопрос: что такое fileparse
? Это не стандартная функция Perl. Я предполагаю, что это импортировано из File::Basename
? Это было бы правильно?
Согласно имеющейся у меня документации, второй аргумент в fileparse
должен быть массивом, а не регулярным выражением в кавычках.