In this specific case, you don't need a fullblown GRT. Of course the simpler approach is less efficient, but you won't notice that before you start sorting tenthousands of domains, and I find the simpler approach is tons more readable.
my @sorted_domain =
map { join ".", reverse split /\./ }
sort
map { join ".", reverse split /\./ }
@domain;
Argh. I'm not paying attention.
Makeshifts last the longest.