Andoridのユーザーエージェントから情報を取得する Ver.2

【2016/11/04追記】
この方法だと一部のAndorid端末を誤判定してしまうので、http://d.hatena.ne.jp/Kimura/20161104/p1 の記事をご覧下さい。

Andoridのユーザーエージェントから情報を取得する - Kimura.Memoのやり方では、以下のようなユーザーエージェントの時に、機種名を取得できない。

Mozilla/5.0 (Linux; U; Android 2.3.7; ja-jp; L-02D Build/GWK74) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 TwonkyBeamBrowser/3.2.0-57 (Android 2.3.7; LGE L-02D Build/GWK74)

ので、以下のようにしてみた。

if ( $ENV{HTTP_USER_AGENT} =~ m{Mozilla/\d+\.\d+ \(Linux; U; Android (\d+\.\d+[^ ^;]*); ([^ ^;]+); (.+?) Build/([^)]+)\)} ) {
    print "Android.\n",
    'version = [', $1, "]\n",
    'lang = [', $2, "]\n",
    'device = [', $3, "]\n",
    'build_id = [', $4, "]\n";
}