NAME

Data::BT::PhoneBill - Parse a BT Phone Bill from their web site

SYNOPSIS

  my $bill = Data::BT::PhoneBill->new($filename);

  while (my $call = $bill->next_call) {
    print $call->date, $call->time, $call->destination,
          $call->number, $call->duration, $call->type, $call->cost;
    }
  }

DESCRIPTION

This module provides an interface for querying your BT phone bill, as produced from their "View My Bill" service at http://www.bt.com/

You should use their "Download Calls" option to save your bill as a CSV file, and then feed it to this module.

CONSTRUCTOR

new

  my $bill = Data::BT::PhoneBill->new($filename);

Parses the bill stored in $filename.

FETCHING DATA

next_call

  while (my $call = $bill->next_call) {
    print $call->date, $call->time, $call->destination,
          $call->number, $call->duration, $call->type, $call->cost;
    }
  }

Each time you call $bill->next_call it will return a Data::BT::PhoneBill::_Call object representing a telephone call (or false when there are no more to read)

Each Call object has the following methods defined:

date

A Date::Simple object represeting the date of the call.

time

A string representing the time of the call in the 24-hr format 'hh:mm'.

destination

A string that for local and national calls will usually be the town. However this can also contain things like "Premium Rate", "Local Rate" etc for 'non-geographic' calls.

number

A string representing the telephone number dialled, formatted as it appears on the bill.

duration

The length of the call in seconds.

type

The 'type' of call - e.g. "DD Local", "DD International".

cost

The cost of the call, before any discounts are applied, in pence.

chargecard

Any chargecard number used make the call.

installation

The phone number from which the call was placed.

line

The line from which the call was placed (if a secondary line with the same number is installed).

rebate

Any rebates applied to the call.

AUTHOR

Tony Bowden, with improvements from Simon Cozens

BUGS and QUERIES

Please direct all correspondence regarding this module to: bug-Data-BT-PhoneBill@rt.cpan.org

COPYRIGHT AND LICENSE

  Copyright (C) 2001-2005 Tony Bowden.

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License; either version
  2 of the License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

The Perl.com article on Class::DBI is based around Data::BT::PhoneBill - http://www.perl.com/pub/a/2002/11/27/classdbi.html