in reply to When Modules Go Stale...

Other replies to your message focus on dealing with stale CPAN modules, but I'd like to pick up on the issue of browser detection:

Whereas most modules are updated when new functionality is required, a browser detection module would ideally be updated every time a new browser, browser version, OS or OS version is released.

To an extent, the WWW::Search modules share this problem, as does all screen scraping code. Such code tends to deal with one particular site, rather than a collection of browsers and operating systems, though.

Microsoft's Active Server Pages (ASP) includes a browser detection facility where the code is detached from browser matching rules which are stored in a browscap.ini file. There are many third-party browscap.ini files available. This method isn't as flexible as it could be, and it's not extensible, but it's an interesting idea.

Perhaps the ideal browser detection code would allow me to periodically pull in browser definition files from a collection of trusted sources who describe the features of each product. Some users configure their browsers to disable certain features, so if you want to build up an accurate idea of the technologies your users can access, you should probably do some server log analysis too. This is likely to be excessive for most of us, though!

I hope it helps you figure out how to do it properly. It would be good to see a powerful browser detection system for Perl!

  • Comment on Browser Detection (Re: When Modules Go Stale...)