au秋冬モデル以降の端末かどうか判定する

auの2011年秋冬モデルからIPアドレス帯域が変わる - Kimura.Memoにも書いたがその修正版

どうやら先日発表された新製品ではF001(FJ31)だけが「11年秋冬モデル以降」の扱いになるらしいので。

if ( $device_id =~
    m{
        ^
        (?:
            CA(?:2|3[1-9A-K])|
            HI(?:2|3[1-9A-H])|
            KC(?:2|3|4[1-8])|
            MA(?:2|3[1-5])|
            PT(?:2|3[1-6])|
            SA(?:2|3[1-9A-E])|
            SH(?:3[1-9][A-L])|
            SN(?:2|3[1-9][A-V])|
            ST(?:2|3[1-4])|
            TS(?:2|3[1-9A-Y]))
    }x
) {
    # 夏モデル以前(秋冬モデル以降ではない)
}
else {
    # 秋冬モデル以降
}

※$device_idは、

my $device_id = "";

if ( $ENV{HTTP_USER_AGENT =~ /^KDDI-([^\s]+) UP\.B/ ) {
    $device_id = $1;
}

のようにして取得したもの