Устанавливает массив предопределенных префиксов:
@prefixes = ( "ROOT1", "ROOT2" );
Затем он считывает путь из стандартного ввода:
$path = <>;
Для каждого префикса он проверяет, начинается ли путь симя каталога, равное префиксу:
if($path =~ /\/$prefix\/(.*?)(\/|$)/ ) {
В то же время оно собирает все, что следует за префиксом ((.*?)
), до следующей косой черты или до конца ((\/|$)
),Если путь соответствует префиксу, он распечатывает собранную часть и выходит из цикла:
print "$1\n";
last;
Итак, вкратце, он ищет первый префикс, соответствующий пути, и печатает часть путипосле префикса.
Редактировать:"до последней косой черты" -> "до следующей косой черты"