How to detect for web browser using Perl

Perl is one of the exciting web programs I use in some of my niche websites and have found myself many times coding in Perl., even though I started as a newbie some few years back.

In this post, I just want to share with those interested on how I sniff for web browsers using Perl in order to be able to set the kinds of ads I want to display from Google adsense.

Ordinarily, the need for sniffing browsers came as a result of the fact that I really wanted to display mobile ads for mobile users and desktop ads for desktop users. I had initially created two versions of my website in web and mobile but I noticed that some visitors who were using desktop browsers were at times visiting my site's mobile versions while some mobile browsers were also visiting my desktop version and this resulted in me losing traffic without getting any ad displayed from Google.

Since Google had a support for Perl in its mobile ad platform, I already integrated the codes but still needed a way to sniff browsers so that irrespective of the version of my website they visit, the relevant type of ads would show.

It basically involved three parts:

  1. Sniffing for browser types
  2. Configuring the display function
  3. Executing the function


Browser sniffing with Perl

######### Check browser function

sub isFirefox()
{
        return $ENV{HTTP_USER_AGENT} =~ m/Firefox/;
}

sub isIE()
{
        return $ENV{HTTP_USER_AGENT} =~ m/MSIE/;
}
sub isChrome()
{
        return $ENV{HTTP_USER_AGENT} =~ m/Chrome/;
}
sub isAndroid()
{
        return $ENV{HTTP_USER_AGENT} =~ m/Android/;
}

This part involves getting the browser type by retrieving the http user agent which is a recongised variable in Perl. I tested for Desktop browsers like Firefox, Internet explorer and Chrome while the rest I would refer to as mobile browsers.

Setting a display function

######### Display ad function
sub displayad()
{

	if (isFirefox())
	{
## Display Desktop ad
	}
	elsif (isIE())
	{
## Display Desktop ad
	}
	elsif (isChrome())
	{
## Display Desktop ad
	}
	else
	{
## Display mobile ad;

	}
}

After getting the browser type, I now set the function to be performed if it matched a particular browser. In my case, the function is the type of ad to be displayed and I would just include the google adsense code herein

Executing the display function

######### Execute ad display

& displayad;

This is the final important part of displaying ads based on the browser version. Here I actually execute the specific function. I can then copy and paste the function "&displayad;" anywhere on my dynamic page I want it to be executed or displayed.


Results

I have noticed an appreciable increase in my adsense earnings both for web and mobile because I am now able to offer to visitors relevant ads based on browsers I use. It wouldn't make send trying to show desktop ads to visitors coming in with mobile browsers. You can do a lot with perl and this works for me

More by this Author


Comments

No comments yet.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working