my $ua = Parse::HTTP::UserAgent->new($useragent);
####
$useragent =~ s{ ( [+] ) [[] [^]]+ []] ( [+] ) }{$1$2}msx;
####
#!perl
use strict;
use warnings;
use Parse::HTTP::UserAgent;
my @useragent_list = (
q{Mozilla/4.06+[en]+(WinNT;+I)},
q{Opera/9.80 (Windows NT 5.1; U; en) Presto/2.6.30 Version/10.61},
q{Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4},
q{Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1},
);
for my $useragent (@useragent_list) {
print q{UA: }, $useragent, qq{\n};
$useragent =~ s{ ( [+] ) [[] [^]]+ []] ( [+] ) }{$1$2}msx;
my $ua = Parse::HTTP::UserAgent->new($useragent);
print $ua->name, qq{\n};
print $ua->version, qq{\n};
print $ua->os, qq{\n};
}
####
$ ver_overload_prob.pl
UA: Mozilla/4.06+[en]+(WinNT;+I)
Netscape
4.060
Windows NT
UA: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.6.30 Version/10.61
Opera
10.610
Windows XP
UA: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4
Firefox
3.005004
Windows XP
UA: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1
Safari
3.002002
Windows XP