Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  WEBSERVICE::CIA (3)

.ds Aq ’


WebService::CIA - Get information from the CIA World Factbook.



  use WebService::CIA;
  use WebService::CIA::Source::DBM;
  use WebService::CIA::Source::Web;

  # Get data from a pre-compiled DBM file

  my $source = WebService::CIA::Source::DBM->new({ DBM => "factbook.dbm" });
  my $cia = WebService::CIA->new({ Source => $source });
  $fact = $cia->get("uk", "Population");
  print $fact;

  # Get data direct from the CIA World Factbook

  my $source = WebService::CIA::Source::Web->new();
  my $cia = WebService::CIA->new({ Source => $source });
  $fact = $cia->get("uk", "Population");
  print $fact;


A module which gets information from the CIA World Factbook.


The most recent version of the CIA World Factbook uses HTTPS to access its web pages. As such, WebService::CIA requires Crypt::SSLeay which suffers from the usual cryptographic export restriction mumbo jumbo. Sorry about that.

Users of ActiveState’s ActivePerl should see <> for instructions on downloading a PPM of Crypt::SSLeay.


new(\%opts) Creates a new WebService::CIA object. Takes a hashref, which must contain a Source key whose value is a WebService::CIA::Storage object.
get($country_code, $field) This method retrieves information from the store.

It takes two arguments: a country code (as defined in FIPS 10-4 on <>, e.g. uk, us) and a field name (as defined in <>, e.g. Population, Agriculture - products). (WebService::CIA::Parser also creates four extra fields: URL, URL - Print, URL - Flag, and URL - Map which are the URLs of the country’s Factbook page, the printable version of that page, a GIF map of the country, and a GIF flag of the country respectively.)

The field name is very case and punctuation sensitive.

It returns the value of the field, or undef if the field or country isn’t in the store.

Note that when using WebService::CIA::Store::Web, get will also return undef if there is an error getting the page.

get_hashref(\@countries, \@fields) This method takes two arguments: an arrayref of country codes and an arrayref of field names.

It returns a hashref of the form

   country1 => {
                  field1 => value,
                  field2 => value
   country2 => {
                  field1 => value,
                  field2 => value

get_all_hashref(\@countries) Get all the fields available for countries.

It takes one argument, an arrayref of country codes.

It returns a hashref similar to the one from get_hashref above, containing all the fields available for each country.

source() Get a reference to the WebService::CIA::Source object in use.


$WebService::CIA::base_url Sets the base URL for the Factbook (currently If the Factbook changes location, this can be changed to point to the new location (assuming the relative structure of the Factbook is unchanged).


Ian Malpass (


Copyright 2003-2007, Ian Malpass

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

The CIA World Factbook’s copyright information page (<>) states:

  The Factbook is in the public domain. Accordingly, it may be copied
  freely without permission of the Central Intelligence Agency (CIA).


WebService::CIA::Parser, WebService::CIA::Source::DBM, WebService::CIA::Source::Web
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 WEBSERVICE::CIA (3) 2016-04-04

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.