The following module was proposed for inclusion in the Module List:
modid: HTTP::UserAgentStringParser
DSLIP: RdpOp
description: User Agent string parser
userid: NMOLDAV (Nicolas Moldavsky)
chapterid: 15 (World_Wide_Web_HTML_HTTP_CGI)
communities:
user-agent-string.info
similar:
HTTP::BrowserDetect Parse::HTTP::UserAgent
rationale:
The namespace chosen reflects the fact the the module uses the user
agent database updated by user-agent-string.info. This module has
been available from download from the aforementioned site for about
6 months.
The main differences between this module and the existing ones are:
- quality of the database - database is updated automatically,
without the need to upgrade the module
In both HTTP::BrowserDetect and Parse::HTTP::UserAgent the agent's
information is integrated into the modules' code, so modules must be
updated to detect new browsers.
In my case, as user-agent-string.info already provided a database
with libreries for PHP, Python, Ruby and Java, I just implemented a
similar library for Perl and kept the database separate.
One smaller difference is that I a little caching I did on the
module to avoid it from repeteadly parsing the same user agent
strings again. In most access_log files about 100 user-agent strings
make the top 90% requests, so by just caching the results speed is
greatly improved.
enteredby: NMOLDAV (Nicolas Moldavsky)
enteredon: Fri Jun 15 03:32:14 2012 GMT
The resulting entry would be:
HTTP::
::UserAgentStringParser RdpOp User Agent string parser
NMOLDAV
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=8db00000_43f72982a5ff8cf0&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=8db00000_43f72982a5ff8cf0&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=HTTP%3A%3AUserAgentStringParser