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