HTML::ParseBrowser rides again

When writing a review of CPAN modules I have a rule that if I come across an issue, I have to do my best to see it resolved. My process for this is something like:


  • Report the bug, e.g. on RT
  • Have a look at the code, and if I can see how to fix it, mention that in the bug report.
  • If I don't get a response, and I can find the module on github, then I'll fork the module and fix the bug.
  • Update the ticket in RT with a reference to the github repo.
  • Now I've got a repo I'm much more likely to fix typos in documentation and very minor issues.
  • If still no response, I'll email the author and offer to do a release.
  • If still no response, then it looks like I'll go the route of trying to get co-maint from the PAUSE admins.
  • Now I'm feeling a bit more committed, if there are any other bugs outstanding, I'll try and fix all those.
  • If I'm still not getting a response from the author or current maintainer(s), I'll email module-authors, and sometimes the modules list, asking if anyone knows how I can contact them.
  • I'll try and track the author down on LinkedIn, and 10 minutes with google.
  • Once a month or more has passed, I'll request co-maint from the PAUSE admins, outlining how I've got to this point.

As a result of the User-Agent modules review I've currently adopted two modules reviewed. The first was HTTP::Headers::UserAgent, which I adopted so I could change the word depreciated to deprecated (I'm anal like that, as you know), and to update the doc with pointers to the good modules to use. I ended up fixing some bugs and increasing the testsuite's coverage. My plan is to eventually retire the module from CPAN, and I made that clear when contacting the previous maintainers.

More recently I adopted HTML::ParseBrowser, as there still wasn't a module which met all of my original needs. It had previously scored quite poorly: it was the slowest, and didn't have very good coverage.

An evening learning to use Devel::NYTProf sorted out the run time, and then I used my test corpus from writing the review to improve coverage. As a result the module is probably the one to use, unless you want to identify robots.

The next step: I've started working with Olaf Alders (amongst other things the current maintainer of HTTP::BrowserDetect) on defining what a truly complete solution should be, so we can work on a rollup.

1 Comment

Working with Olaf on this seems to me like the ideal solution.

Leave a comment

About Neil Bowers

user-pic Perl hacker since 1992.