The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
NAME
    Ham::Reference::Callook - An object oriented front end for the
    Callook.info callsign API

VERSION
    Version 0.01

INSTALLATION
    To install this module, run the following commands:

    perl Makefile.PL
    make
    make test
    make install

SYNOPSIS
     use Ham::Reference::Callook;

     # create new callook object and get the listing data for a callsign
     my $callook = Ham::Reference::Callook->new;
     my $listing = $callook->listing('N8QQ');

     # print the name
     print "Name: $listing->{name}\n";

     # examine the entire hashref of data
     use Data::Dumper;
     print Dumper($listing);

     # get data for another callsign in text format and print the block of text
     $callook->type('text');
     print $callook->listing('W8IRC');

DESCRIPTION
    The "Ham::Reference::Callook" module provides an easy object oriented
    front end to access Amateur Radio callsign data made available from the
    Callook.info web site.

    To help ensure foward compatibility with the data from the FCC provided
    by Callook.info, this module does not attempt to manage or filter
    individual data elements of a callsign. You will need to inspect the
    hash reference keys to see which elements are available for any given
    callsign, as demonstrated in the synopsis.

CONSTRUCTOR
  new()
     Usage    : my $callook = Ham::Reference::Callook->new;
     Function : creates a new Ham::Reference::Callook object
     Returns  : a Ham::Reference::Callook object
     Args     : a hash:

                key       required?   value
                -------   ---------   -----
                timeout   no          an integer of seconds to wait for
                                       the timeout of the xml site
                                       default = 10
                type      no          possible values are xml or text
                                       'xml' will cause the listing to be
                                       returned as a hash reference whose
                                       structure matches the XML returned
                                       from the Callook.info API.
                                       'text' will cause the listing to be
                                       returned as a single complete block
                                       of text in a scalar reference.
                                       default = xml

METHODS
  timeout()
     Usage    : $callook->timeout($seconds);
     Function : sets the number of seconds to wait on the API server before timing out
     Returns  : n/a
     Args     : an integer

  listing()
     Usage    : $hashref = $callook->listing($callsign) - OR - $scalar = $callook->listing($callsign}
     Function : retrieves data for the standard listing of a callsign from Callook.info
     Returns  : a hash reference if type is 'xml' (the default), or a scalar if type is 'text'
     Args     : a scalar (the callsign)

  is_error()
     Usage    : if ( $callook->is_error )
     Function : test for an error if one was returned from the call to the API site
     Returns  : a true value if there has been an error
     Args     : n/a

  error_message()
     Usage    : $err_msg = $callook->error_message;
     Function : if there was an error message when trying to call the API site, this is it
     Returns  : a string (the error message)
     Args     : n/a

DEPENDENCIES
    *   XML::Simple

    *   LWP::UserAgent

    *   An Internet connection

TODO
    *   Add ARRL section info.

ACKNOWLEDGEMENTS
    This module accesses data from the Callook.info site provided by Joshua
    Dick, W1JDD. See http://callook.info

SEE ALSO
    For more information about the data provided by Callook.info, see the
    API reference at http://callook.info/api_reference.php

AUTHOR
    Brad McConahay N8QQ, "<brad at n8qq.com>"

COPYRIGHT AND LICENSE
    "Ham::Reference::Callook" is Copyright (C) 2010 Brad McConahay N8QQ.

    This module is free software; you can redistribute it and/or modify it
    under the terms of the Artistic License 2.0. For details, see the full
    text of the license in the file LICENSE.

    This program is distributed in the hope that it will be useful, but it
    is provided "as is" and without any express or implied warranties. For
    details, see the full text of the license in the file LICENSE.