Если вы знаете, что ваш ввод всегда будет заканчиваться на /filename.ext
, используйте простое регулярное выражение:
# $url has your url already
$url =~ /.*\/(.*?)\.(.*)/;
my ($filename, $ext) = ($1,$2);
Но если это может быть сложнее со строками запроса или другими различными форматами, тогдагораздо проще начать вытягивать модули.Просто должно быть слишком много переменных.Я всегда считал, что File :: Basename лучше всего использовать для этого при работе с файловой системой.Я не думаю, что это будет работать для URL, хотя.Основной модуль URI выглядит достаточно. URI :: Split и APR :: URI могут предложить немного больше гибкости.