Perlで、UserAgent判定する(Woothee)

特定のバージョンだけ動作を変更したかったので、ちょっとお試し。

cpanm Woothee

とりあえず書いてみる。

use 5.12.4;
use Data::Dumper;
use Woothee;

my $ua = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)';

my $data = Woothee->parse( $ua );
say Dumper $data;

で、実行してみる。

$VAR1 = {
          'version' => '8.0',
          'name' => 'Internet Explorer',
          'category' => 'pc',
          'vendor' => 'Microsoft',
          'os' => 'Windows 7'
        };

これで、IEの特定のバージョンでアクセスしたら別のページに飛ばすとか簡単にできそう。(似たようなモジュールはいくつかありますが)

jQueryの.browserがちょい前から非推奨になって、最新(1.9?)では廃止されたようです。
代替として.supportで、使える機能を判定してなんとなくどのブラウザなのか判定する事はできるとは思いますが・・ちょっとねぇ。