MP3::Tag::File(3)

NAME
MP3::Tag::File - Module for reading / writing files

SYNOPSIS
  my $mp3 = MP3::Tag->new($filename);

  ($title, $artist, $no, $album, $year) = $mp3->parse_filename();

see MP3::Tag

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

It offers possibilities to read/write data from files via read(), write(), truncate(), seek(), tell(), open(), close(); one can find the filename via the filename() method.

    parse_filename()

      ($title, $artist, $no, $album, $year) = $mp3->parse_filename($what, $filename);

    parse_filename() tries to extract information about artist, title, track number, album and year from the filename. (For backward compatibility it may be also called by deprecated name read_filename().)

    This is likely to fail for a lot of filenames, especially the album will be often wrongly guessed, as the name of the parent directory is taken as album name.

    $what and $filename are optional. $what maybe title, track, artist, album or year. If $what is defined parse_filename() will return only this element.

    If $filename is defined this filename will be used and not the real filename which was set by MP3::Tag with "MP3::Tag-"new($filename)>. Otherwise the actual filename is used (subject to configuration variable "decode_encoding_filename").

    Following formats will be hopefully recognized:

    - album name/artist name - song name.mp3

    - album_name/artist_name-song_name.mp3

    - album.name/artist.name_song.name.mp3

    - album name/(artist name) song name.mp3

    - album name/01. artist name - song name.mp3

    - album name/artist name - 01 - song.name.mp3

    If artist or title end in "(NUMBER)" with 4-digit NUMBER, it is considered the year.

    title()

     $title = $mp3->title($filename);

    Returns the title, guessed from the filename. See also parse_filename(). (For backward compatibility, can be called by deprecated name song().)

    $filename is optional and will be used instead of the real filename if defined.

    artist()

     $artist = $mp3->artist($filename);

    Returns the artist name, guessed from the filename. See also parse_filename()

    $filename is optional and will be used instead of the real filename if defined.

    track()

     $track = $mp3->track($filename);

    Returns the track number, guessed from the filename. See also parse_filename()

    $filename is optional and will be used instead of the real filename if defined.

    year()

     $year = $mp3->year($filename);

    Returns the year, guessed from the filename. See also parse_filename()

    $filename is optional and will be used instead of the real filename if defined.

    album()

     $album = $mp3->album($filename);

    Returns the album name, guessed from the filename. See also parse_filename() The album name is guessed from the parent directory, so it is very likely to fail.

    $filename is optional and will be used instead of the real filename if defined.

    comment()

     $comment = $mp3->comment($filename);   # Always undef

    genre()

     $genre = $mp3->genre($filename);       # Always undef

POD ERRORS
Hey! The above document had some coding errors, which are explained below:

Around line 33:
    You can't have =items (as at line 186) unless the first thing after the =over is an =item