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

NAME

Template::Plugin::HTTP::UserAgent - Template plugin for parsing HTTP User-Agent string

SYNOPSIS

  [% USE ua = HTTP::UserAgent %]
  [% IF ua.name == 'Internet Explorer' && ua.major <= 7 %]
    <p>I'm sorry Dave, I can't let you do that.</p>
  [% ELSE %]
    ... whew ...
  [% END %]

DESCRIPTION

Template::Plugin::HTTP::UserAgent is a plugin for the Template Toolkit which is used to extract information from an HTTP User-Agent string. The User-Agent string can come from one of two places. Either you pass the string to the constructor:

  [% USE ua = HTTP::UserAgent('Opera/9.64 (X11; Linux i686; U; da) Presto/2.1.1')

If you don't pass a string to the constructor, it will check to see whether the HTTP_USER_AGENT environment variable is set, and if so will use that.

  [% USE ua = HTTP::UserAgent %]

METHODS

The module supports the following methods.

name

The name of the user agent (e.g. web browser, crawler). In general this is the name that appears in the User-Agent string. Internet Explorer identifies itself as 'MSIE' in the User-Agent string, but this method returns 'Internet Explorer'.

version

The full version string. For example the User-Agent string containing 'Camino/1.0rc1' will return '1.0rc1' as the version string.

major

The major version number. For Safari 3.1.1, this method will return 3.

minor

The minor version number. For Iron 6.0.475.1, this method will return 0.

os

The string which identifies the operating system on which the User-Agent is running.

At the moment Template::Plugin::HTTP::UserAgent uses HTML::ParseBrowser internally. That module supports more methods for extracting information from User-Agent strings than are provided here. Some of those methods might be added in the future -- let me know if you want one or more of them. Template::Plugin::HTTP::UserAgent might switch to using a different module internally, which is why I've started off with a generic set of methods initially.

REPOSITORY

https://github.com/neilbowers/Template-Plugin-HTTP-UserAgent

SEE ALSO

Template::Plugin::MobileAgent, HTML::ParseBrowser.

AUTHOR

Neil Bowers <neilb@cpan.org>

COPYRIGHT

Copyright 2012 Neil Bowers. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.