Provided by: libwebservice-cia-perl_1.4-3_all bug


       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.


           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

           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

           It returns a hashref of the form

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

           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.

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


           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

         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