The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


MP3::Tag::CDDB_File - Module for parsing CDDB files.


  my $db = MP3::Tag::CDDB_File->new($filename, $track); # Name of audio file
  my $db = MP3::Tag::CDDB_File->new_from($record, $track); # Contents of CDDB 

  ($title, $artist, $album, $year, $comment, $track) = $db->parse();

see MP3::Tag


MP3::Tag::CDDB_File is designed to be called from the MP3::Tag module.

It parses the content of CDDB file.

The file is found in the same directory as audio file; the list of possible file names is taken from the field cddb_files if set by MP3::Tag config() method.

  ($title, $artist, $album, $year, $comment, $track) =

parse_filename() extracts information about artist, title, track number, album and year from the CDDB record. $what is optional; it maybe title, track, artist, album, year, genre or comment. If $what is defined parse() will return only this element.

Additionally, $what can take values artist_collection (returns the value of artist in the disk-info field DTITLE, but only if author is specified in the track-info field TTITLE), title_track (returns the title specifically from track-info field - the track may fall back to the info from disk-info field), comment_collection (processed EXTD comment), comment_track (processed EXTT comment).

The returned year and genre is taken from DYEAR, DGENRE, EXTT, EXTD fields; recognized prefixes in the two last fields are YEAR, ID3Y, ID3G. The declarations of this form are stripped from the returned comment.

An alternative syntax "Recorded"/"Recorded on"/"Recorded in"/ is also supported; the format of the date recognized by ID3v2::year(), or just a date field without a prefix.

 $title = $db->title();

Returns the title, obtained from the 'Tracktitle' entry of the file.

 $artist = $db->artist();

Returns the artist name, obtained from the 'Performer' or 'Albumperformer' entries (the first which is present) of the file.

 $track = $db->track();

Returns the track number, stored during object creation, or queried from the parent.

 $year = $db->year();

Returns the year, obtained from the 'Year' entry of the file. (Often not present.)

 $album = $db->album();

Returns the album name, obtained from the 'Albumtitle' entry of the file.

 $comment = $db->comment();

Returns the 'Trackcomment' entry of the file. (Often not present.)

 $genre = $db->genre($filename);

1 POD Error

The following errors were encountered while parsing the POD:

Around line 36:

=over without closing =back