ubh - The Usenet Binary Harvester

TO-DO LIST:

------------------------------------------------------------------------------

8. -q quiet mode, -Q silent mode

9. Open/close files every time you log something.

14. Do something with the zero part of a multipart article.

22. Need a MB limit.

24. Advanced MIME processing:

    Unsupported single-part message type:

         Content-Type: multipart/related;
            type="multipart/alternative";
            boundary="----=_NextPart_000_0095_01BF7137.07A29A20"

27. Apply principles from _Effective Perl Programming_ book:
       - #10 reduce punctuation (especially () in subroutine calls)
       - #12 use "map" and slices rather than iterating over hashes

29. Handle case where some doofus posts the same binary twice, using
    the identical subject, but with a different number of parts.
    Need to check incoming total number of parts against total number
    of parts.
         if ($total != $numparts{$match}) {
            ...
         }

34. Combine parallel array elements in to individual anonymous array
    structures.

35. Collect list of binary file extensions:

        http://pages.prodigy.net/jagfire3/

       .avi, .asf, .asx, .wm, .mov, .qt, .wmv, .wmx, .wma, .wax, .wav, 
       .mpeg, .mpg, .mpe, .m1v, .mp2, .mp3, .mpv2, .mp2v, .mpa, 
       .mid, .midi, .rmi, .m3u, .ivf, .aif, .aiff, .dat, .au

36. Give an option on how to order the multipart download queue:
    
    By subject:          
       for (sort keys %articles) {

    By article number (the way it is now):   
       for (sort { $articles{$a}->{1} <=> $articles{$b}->{1} } keys %articles) {

37. Try using MIME::Parser (again).

39. Use the Xref: header to mark crossposted articles as read in
    the .newsrc.  (Suggested by Brian Macke)
