Perl Quiz-of-the-Week #13

Mark Jason Dominus <[email protected]> Wed, 28 May 2003 14:01:49 -0400
Newsgroups gmane.comp.lang.perl.qotw.quiz-of-the-week
Message-ID <[email protected]>
IMPORTANT: Please do not post solutions, hints, or other spoilers
        until at least 60 hours after the date of this message.
        Thanks.

IMPORTANTE: Por favor, no enviéis soluciones, pistas, o cualquier otra
        cosa que pueda echar a perder la resolución del problema hasta
        que hayan pasado por lo menos 60 horas desde el envío de este
        mensaje. Gracias.

IMPORTANT: S'il vous plaît, attendez au minimum 60 heures après la
        date de ce message avant de poster solutions, indices ou autres
        révélations. Merci.

WICHTIG: Bitte schicken Sie keine Lösungen, Tipps oder Hinweise für
        diese Aufgabe vor Ablauf von 60 Stunden nach dem Datum dieser
        Mail. Danke.

BELANGRIJK: Stuur aub geen oplossingen, hints of andere tips in de
        eerste 60 uur na het verzendingstijdstip van dit
        bericht. Waarvoor dank.

VNIMANIE: Pozhalujsta ne shlite reshenija, nameki na reshenija, i
        voobshe lyubye podskazki v techenie po krajnej mere 60 chasov
        ot daty etogo soobshenija.  Spasibo.

Qing3 Zhu4Yi4: Qing3 Ning2 Deng3Dao4 Jie1Dao4 Ben3 Xin4Xi2 Zhi1Hou4 60
        Xiao3Shi2, Zai4 Fa1Biao3 Jie3Da2, Ti2Shi4, Huo4 Qi2Ta1 Hui4
        Xie4Lou4 Da2An4 De5 Jian4Yi4.  Xie4Xie4.



The 'MH' mail system stores email messages in a 'folder', which is
just a plain directory.  Messages are files in this directory whose
names are numerals.  The directory might contain other files or
subdirectories; these are not messages.

The 'scan' command summarizes the contents of a folder.  Here's a
typical output:

 1349  03/22 Yitzchak Scott-Th  Re: Hey, is this list alive?<<On Sat, 22 Mar 20
 1350  03/23 To:perl-qotw-disc  Re: Hey, is this list alive?<<On Thu, 20 Mar 20
 1351  03/24 Kieran             <joke> Proposed advanced problem for this week.
 1352  03/25 John_Wunderlich@C  Re: Hey, is this list alive?<<This is a multipa
 1353  04/16 "Sparrow, Dave"    QOTW 10 [SPOILER]<<This message is in MIME form
 1354  05/24 Shlomi Fish        Post Mortem for Perl QOTW #8 (Graham's Function
 1355  05/24 Shlomi Fish        Post Mortem for Expert QOTW #8 (Graham's Functi
 1356  05/24 To:Shlomi Fish     Re: Post Mortem for Perl QOTW #8 (Graham's Func

The output contains one line for each message.  It includes the
message number (filename of the message file), date sent, sender (or
recipient, if the sender is me), the subject, and as much of the body
as will fit (as in message 1353, above.)  Messages are always listed
in numerical order.

Implement a 'scan' command.  It gets one required argument, which is
the path to the folder directory.  (The real 'scan' command is a
little different, but that's not important today.)

I won't be sending a postmortem on Monday, because I will be in Hawai`i.
(See http://www.geekcruises.com/home/pw3_home.html )  
I will send one when I get back, probaly on June 16.