NAME
WebService::BBC::MusicCharts - Retrieve and return UK music chart listings
SYNOPSIS
use WebService::BBC::MusicCharts;
my $chart = WebService::BBC::MusicCharts->new( chart => 'album' );
my $count = 1;
foreach my $title ($chart->titles) {
print "At $count we have $title\n";
$count++;
}
DESCRIPTION
The WebService::BBC::MusicCharts module provides access to some of the BBCs online music charts via a simple object-oriented interface.
It currently supports the singles chart, album chart and downloaded music charts.
EXAMPLES
use WebService::BBC::MusicCharts;
my $albums = WebService::BBC::MusicCharts->new( chart => 'album' );
foreach my $chart_position (1..40) {
my $details = $albums->number($chart_position);
print "$chart_position: ", $details->{title};
print " by ", $details->{artist},"\n";
}
METHODS
- new ( chart => 'chart type' )
-
This is the constructor for a new WebService::BBC::MusicCharts object. The
chart
argument is required (and can currently be 'album', 'download' or 'singles') and the module willdie
if it is either missing or passed an invalid value.The constructor also does the actual page fetch, which may also
die
if theget
fails. Wrapping thenew
invocation in aneval
isn't a bad idea.
- chart_type
-
Returns the type of chart that this instance represents. Mostly used when I was debugging the module.
- titles
-
Returns an array containing all the titles from the chart this instance represents.
- artists
-
Returns an array containing all the artists from the chart this instance represents.
- number($num)
-
The number method must be called with a valid integer (it accepts any between 1 and 40), it then returns a hash ref containing the details for the song/album at that chart position.
The fields returned are:
artist
- the name of the artisttitle
- the title of the single or albumlabel
- the owning record labelthis_week
- the current chart position of the song/albumlast_week
- The position this song/album was at last week. This will either be a number, NEW or RE (re-entry)weeks_in_chart
- the number of weeks it's been in the chartIf called without an argument, or with one that's not between 1 and 40, it will return undef.
DEPENDENCIES
WebService::BBC::MusicCharts requires the following modules:
LICENCE AND COPYRIGHT
Copyright (C) 2006 Dean Wilson. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Dean Wilson <dean.wilson@gmail.com>