sub message
{
 print "\nmklist creates a MP3 playlist for each directories of a given path\n";
 print "You can automaticaly generate playlists from a CDROM on you Hard Disk\n";
 print "The playlists ere named as the matching directories.\n\n";

 print "USAGE :\perl tmklist.pl [Source] [TARGET]\n";
 print "\nWhere SOURCE is the place where the MP3 files are \nand TARGET is where the playlist will be write.\n\n";
 print "eg :\tmklist d: c:\\mp3\n";  
 print "\n\n\t\t\t\tDJ Roswell (djroswell\@starmail.com)\n";

}

sub deeper
{
 my ($cur,$n,$lastdir)=@_;

# print "\n Reading $cur";
 opendir($n,$cur);
 foreach my $file (readdir($n))
 {

  if (!($file=~/^\./))
  {
   if (-d "$cur/$file")
    {
    print "Reading $cur/$file\n";

     $n++;
     &deeper("$cur/$file",$n,$file);
    }
   else
    {
     &printfiles($file,$lastdir,$cur);
    }
  }
 }
 closedir $n; 
}
sub printfiles
{
 my ($filename,$lastdir,$path)=@_;
 if ($filename=~/$\.mp3/i)
 {
  open (FILE,">>$dest/$lastdir\.m3u");
  $path=~tr/\//\\/;
  print  FILE "$path\\$filename\n";
  close(FILE);
 }
}

($source,$dest)=@ARGV;
  $source=~tr/\\/\//;
  $dest=~tr/\\/\//;


if ( !$source || !$dest || $source=~m#(-|\/)[h?]#i)
{
 &message;
}
else
{
 if (!($source=~m#$/#) && !($dest=~m#$/#))
 {
   &deeper($source,0,"root");
   print "\nListing complete in $dest !\n";
 }
 else
 {
 &message;
 print "\n No backslash in paths please.\n";
 }
}
