Just out of interest why did you reject Samba/ NFS? On my home network I have a "music server" that runs a DAAP server (compatible with iTunes, SoundBridge devices and other clients), it is called FireFly and I have found it great for many clients over the last couple of years. However there are also some times when I need to be able to see the files in a read-only, MS Windows compatible form and for those I also have a Samba share.
Like you I also produce playlists using Perl, for example picking all my mp3s that were hits in the 1930s, or number 1s in Australia in the 1970s (I have a stupidly large collection of music charts). In these cases I always find that I need to output playlists in many forms, as m3u, XML, lists of files and CSV listings for example.
You might consider extending your example to use some other source to score each track then randomly selecting N from the top M in some specific order and finally outputting your results in multiple forms.