>>237
>・キー構成文字
>    (ry
>これ、分離できない?

なるほど,言われてみれば確かに......ということで,分離する処理も入れてみました.
ついでに,トリップの処理もちょっと変更.

    if (length $handle_pass >= 12)
    {
        if (substr($handle_pass, 0, 1) eq '$')
        {
            # 将来の拡張用
            $GB->{TRIPSTRING} = '???';
        }
        elsif ($handle_pass =~ m|^#([[:xdigit:]]{16})([./0-9A-Za-z]{0,2})$|)
        {
            $GB->{TRIPSTRING} = substr(crypt(pack('H*', $1), "$2.."), -10);
        }
        else
        {
            use Digest::SHA1 qw(sha1_base64);
            $GB->{TRIPSTRING} = substr(sha1_base64($handle_pass), 0, 12);
        }
    }
    else
    {
        # 従来形式
    }

12桁以上かつ「#$〜」の指定は,将来的な拡張に使えるようにとっておこうかと.