ドメイン名のソート順
Firefox のメニューから、[ツール] → [オプション] を選ぶと、Cookie の設定やアドオンの設定など、サイトごとに設定値を決められる設定項目がある。
そういう項目を変更しようとするときの画面での、ドメイン名のソート順が気に入らない。単純に文字列のソートより、より上位のレベルのドメイン名でソートしてほしいのだ。
#! /usr/bin/perl # domain_sort.pl my @domain = qw ( www.microsoft.com www.microsoft.co.jp d.hatena.ne.jp f.hatena.ne.jp h.hatena.ne.jp www.hatena.ne.jp mail.google.com docs.google.com a.foo.edu b.foo.edu c.foo.edu www.foo.edu americanexpress.fr ); $\ = "\n"; print "-------- normal sort --------"; print for sort @domain; print "-------- domain sort --------"; print for sort domain_sort @domain; sub domain_sort { my $reverse_a = join '.', reverse split /\./, $a; my $reverse_b = join '.', reverse split /\./, $b; return $reverse_a cmp $reverse_b; }
実行結果
%perl domain_sort.pl.pl -------- normal sort -------- a.foo.edu americanexpress.fr b.foo.edu c.foo.edu d.hatena.ne.jp docs.google.com f.hatena.ne.jp h.hatena.ne.jp mail.google.com www.foo.edu www.hatena.ne.jp www.microsoft.co.jp www.microsoft.com -------- domain sort -------- docs.google.com mail.google.com www.microsoft.com a.foo.edu b.foo.edu c.foo.edu www.foo.edu americanexpress.fr www.microsoft.co.jp d.hatena.ne.jp f.hatena.ne.jp h.hatena.ne.jp www.hatena.ne.jp %