Посмотрите на File :: Basename - Разобрать пути к файлам в каталог, имя файла и суффикс.
например:
use strict;
use File::Basename;
my $file = '/home/test/dog/.last_file_sent.yahoo@jedi.ucsb.edu';
my($filename, $directories) = fileparse($file);
имя файла даст вам .last_file_sent.yahoo@jedi.ucsb.edu
и
каталоги даст вам /home/test/dog/
Чтобы извлечь значение или захватить его, вы должны заключить в регулярное выражение круглую скобку, например
$directories =~ m/(dog)/;
my $extract_value = $1;
см. Извлечение совпадений для более подробной информации о том, как извлечь части строки, которые совпадают.