Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: detecting Alexa toolbar

by lithron (Chaplain)
on Oct 04, 2004 at 23:19 UTC ( #396433=note: print w/replies, xml ) Need Help??

in reply to detecting Alexa toolbar

Check the environment variables set by your web server. The Alexa toolbar changes the browser version string. An example : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Alexa Toolbar)"

if ($ENV{HTTP_USER_AGENT} =~ /Alexa/) { print "$ENV{HTTP_USER_AGENT}"; }

The %ENV hash holds all the environment variables. The Apache web server (and I assume others) set the HTTP_USER_AGENT string equal to what the web browser sends, so that you can detect what version of Internet Explorer, Netscape Navigator, or Mozilla Firefox someone is running. In this case, Alexa also changes this string to include itself.

Replies are listed 'Best First'.
Re^2: detecting Alexa toolbar
by jonnyfolk (Vicar) on Oct 05, 2004 at 05:10 UTC
    That worked perfectly, Thank you.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://396433]
[1nickt]: Hm well actually I guess it's not the trailing semi-colon that's at issue there, it's disambiguation between the ellipsis and the binary flip-flop
[1nickt]: Although the example given does not produce an error as stated, on my perl.
[1nickt]: perl -wE 'say for map { ... } 1..3;' # "Unimplemented at -e line 1" ... <c>perlsyn says that should throw a syntax error...
[karlgoethebier]: 1nickt: "Edge cases..." Yes, it seems so. Thanks Nick

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2017-11-18 19:46 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (277 votes). Check out past polls.