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

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

  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, <kasei@tmtm.com> with improvements from Simon Cozens <simon@kasei.com>.

FEEDBACK

If you find this module useful, or have any comments, suggestions or improvements, please let me know via the CPAN RT interface at bug-Data-BT-PhoneBill@rt.cpan.org

LICENSE

Copyright (C) 2001-2003 Tony Bowden. All rights reserved.

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