# reads a quote file (filename is the argument) # format is # "# album (.*)$ # catching the album name # anything after that until the next album name is either blank lines quotes # quotes are # # nonblank # [nonblank] # -> track name$ # # there are blank lines seperating quotes sub read_quote_file ($) { my ($filename) = @_; open (FH, "<$filename") or die "could not open $filename $!\n"; my @file = ; close (FH); my %quotes; my ($quote,$album); foreach (@file) { if (/^$/) { $quote = ""; } elsif (/^\#\salbum\s(.*)$/) { chomp; $album = $1; } elsif (/^->\s(.*)$/) { chomp; $quotes{$album}{$1} = $quote; } else { $quote .= $_; } } return %quotes; }