Решение без регулярных выражений * может быть более очевидным:
use strict;
use warnings;
use 5.010;
my @tests = (
'test.domain.com',
'sub.domain.example.com',
'bar.foo.bar.hoster.net',
);
for my $t (@tests) {
(undef, my @parts) = split(/\./, $t);
say join('.', @parts);
}
Или:
for my $t (@tests) {
my $i;
say join('.', grep { ++$i > 1 } split(/\./, $t));
}
* Ну, в любом случае в основном без регулярных выражений.Первый аргумент split
- это шаблон, но мы просто сопоставляем буквальную точку.