in reply to Finding out which country a user comes from using $_ENV[HTTP_...]

As others have pointed out, I would reiterate the point that there is no guaranteed method by which to determine the origin of country of visitors to a web site. Nevertheless, I would direct your attention to the Geo::IP module on CPAN which uses a file-based database with IP address blocks as keys and country of assignment as values.

An example piece of code using this module:

use CGI; use Geo::IP; my $cgi = CGI->new; my $geo = Geo::IP->new; my $ip_addr = gethostbyname( $cgi->remote_host ); my $country = $geo->country_code_by_addr( inet_ntoa( $ip_addr ) );

Please note that this method is not absolute, however should provide a relatively robust and ready-made solution.

 

perl -e 'print+unpack("N",pack("B32","00000000000000000000000111001100")),"\n"'

  • Comment on Re: Finding out which country a user comes from using $_ENV[HTTP_...]
  • Download Code