Tied hash and dbi access to mp3 files
use AnyData; my $playlist = adTie( 'Passwd', ['c:/My Music/'] ); while (my $song = each %$playlist){ print $song->{artist} if $song->{genre} eq 'Reggae' } OR use DBI my $dbh = DBI->connect('dbi:AnyData:'); $dbh->func('playlist','Mp3,['c:/My Music'],'ad_catalog'); my $playlist = $dbh->selectall_arrayref( qq{ SELECT artist, title FROM playlist WHERE genre = 'Reggae' }); # ... other DBI/SQL operations
This module provides a tied hash interface and a \s-1DBI/SQL\s0 interface to \s-1MP\s0 files. It creates an in-memory database or hash from the Mp3 files themselves without actually creating a separate database file. This means that the database is automatically updated just by moving files in or out of the directories.
Many mp3 (mpeg three) music files contain a header describing the song name, artist, and other information about the music.
Simply choose 'Mp3' as the format and give a reference to an array of directories containing mp3 files. Each file in those directories will become a record containing the fields:
song artist album year genre filename filesize
This module is a submodule of the AnyData.pm and DBD::AnyData.pm modules. Refer to their documentation for further details.
copyright 2000, Jeff Zucker <[email protected]> all rights reserved