The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTTP::Headers::UserAgent - identify browser by parsing User-Agent string (deprecated)

SYNOPSIS

  use HTTP::Headers::UserAgent;

  $user_agent = HTTP::Headers::UserAgent->new( $ENV{HTTP_USER_AGENT} );
  $browser = $user_agent->browser;
  $version = $user_agent->version;
  $os      = $user_agent->os;

  $platform = $user_agent->platform;

DESCRIPTION

This module, HTTP::Headers::UserAgent, is deprecated. I suggest you use one of the other modules which provide the same functionality. Check the SEE ALSO section for pointers. This module is being kept on CPAN for the moment, in case someone is using it, but at some point in the future it will probably be removed from CPAN.

This module is now just a wrapper around HTTP::BrowswerDetect, which is still actively maintained. If you're still using this module, and have a reason for not wanting to switch, please let me know, so I can either help you migrate, or ensure the module continues to support your needs.

METHODS

new HTTP_USER_AGENT

Creates a new HTTP::Headers::UserAgent object. Takes the HTTP_USER_AGENT string as a parameter.

string [ HTTP_USER_AGENT ]

If a parameter is given, sets the user-agent string.

Returns the user-agent as an unprocessed string.

platform

Tries to guess the platform. Returns ia32, ppc, alpha, hppa, mips, sparc, or unknown.

  ia32   Intel archetecure, 32-bit (x86)
  ppc    PowerPC
  alpha  DEC (now Compaq) Alpha
  hppa   HP
  mips   SGI MIPS
  sparc  Sun Sparc

This is the only function which is not yet implemented as a wrapper around an equivalent function in HTTP::BrowserDetect.

os

Tries to guess the operating system. Returns irix, win16, win95, win98, winnt, win32 (Windows 95/98/NT/?), macos, osf1, linux, solaris, sunos, bsdi, os2, or unknown.

This is now a wrapper around HTTP::BrowserDetect methods. Using HTTP::BrowserDetect natively offers a better interface to OS detection and is recommended.

browser

Returns the name of the browser, or 'Unknown'.

This is now a wrapper around HTTP::BrowserDetect::browser_string

In previous versions of this module, the documentation said that this method return a list with agent name and version. But it never did, it jusr returned the browser name.

version

Returns the version of the browser, as a floating-point number. Note: this means that version strings which aren't valid floating point numbers won't be recognised.

This method is just a wrapper around the public_version() method in HTTP::BrowserDetect.

BACKWARDS COMPATIBILITY

For backwards compatibility with HTTP::Headers::UserAgent 1.00, a GetPlatform subroutine is provided.

GetPlatform HTTP_USER_AGENT

Returns Win95, Win98, WinNT, UNIX, MAC, Win3x, OS2, Linux, or undef.

In some cases ( `Win32', `Windows CE' ) where HTTP::Headers::UserAgent 1.00 would have returned `Win95', will return undef instead.

Will return `UNIX' for some cases where HTTP::Headers::UserAgent would have returned undef.

SEE ALSO

I have written a review of all CPAN modules for parsing the User-Agent string. If you have a specific need, it may be worth reading the review, to find the best match.

In brief though, I would recommend you start off with one of the following modules:

HTML::ParseBrowser

Has best overall coverage of different browsers and other user agents.

HTTP::UserAgentString::Parser

Also has good coverage, but is much faster than the other modules, so if performance is important as well, you might prefer this module.

HTTP::BrowserDetect

Poorest coverage of the three modules listed here, and doesn't do well at recognising version numbers. It's the best module for detecting whether a given agent is a robot/crawler though.

REPOSITORY

https://github.com/neilb/HTTP-Headers-UserAgent

AUTHOR

This module is now maintained by Neil Bowers <neilb@cpan.org>.

The previous maintainer, who wrote this version, was Ivan Kohler.

Portions of this software were originally taken from the Bugzilla Bug Tracking system <http://www.mozilla.org/bugs/>, and are reused here with permission of the original author, Terry Weissman <terry@mozilla.org>.

COPYRIGHT

Copyright (c) 2001 Ivan Kohler. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.