Windows Phone(7.0+) のユーザーエージェントから情報を取得する

if ( $ENV{HTTP_USER_AGENT} =~ /(Windows Phone)(?: OS)? ([^\s;)]+)/i ) {
    print 'OS = [', lc($1), "]\n",
          'OS Version = [', $2, "]\n";

    if ( $ENV{HTTP_USER_AGENT} =~ /[^\d]; *([^;)]+)(?:; *[^;)]+)?\)?$/ ) {
        print 'device = [', $1, "]\n";
    }
}
else {
    print "Not Windows Phone 7.0+\n";
}