むー

use Perl6::Say;
use URI;
say for map {
    $_->[0] =~ s/^h(?=ttp)//;
    $_->[0];
} sort { $a->[1] cmp $b->[1] or $a->[0] cmp $b->[0] } map {
    chomp;
    [$_, join '.', reverse split /\./, URI->new($_)->host];
} <DATA>;

あとでもう少し書き直すけど、とりあえずはこれでだいたいよし。いや、まあ、別にそんなたくさんのデータをソートするわけじゃないから、シュワルツ変換使わないで全部sortの中でやっちゃっていいんだけど。