Hi, Joe, On Mon, 8 Dec 2003 12:04:28 -0500, "Joseph Discenza" <[EMAIL PROTECTED]> wrote:
> Peter Davis wrote, on Monday, December 08, 2003 11:04 AM > : I'm keeping my e-mail in MH format, which means each folder is a > : directory, and each message is in a separate file, and the filename > is: the message number. Now I'm writing a Perl script to re-sort > messages: into different folders, so I need to find the highest > number already in: the folder, so I can add one to it and use that as > the new filename. > > Yours is the only process putting messages in the folder, so > there's no race conditions? OK. That's right. > You've got a bunch of files in each directory, or you wouldn't > be worried about efficiency, right? Yes. There are potentially thousands of files in each directory. > Do you need to find the last for each folder over different > invocations of the program, or is this a one-time sort? If it's > one-time, put the highest number in a hash or array. Well, I plan to cache the number during the run of the script, so that if I move multiple messages to the same folder, I can just increment the cache each time, without having to re-determine the highest message number. > Now, presuming it's different invocations, the simplest way is to > put the highest number in a control file: open that up, read the > number, and close. Then when you're done, open for writing, write > the new highest number, and close. Yes, that would work, though I'm wary of keeping persistent information this way. If I do something between invocations that changes the message numbering (e.g., MH sortm), it will invalidate the control file. If I can make it reasonably efficient, I can bear the cost of getting these numbers once per mail fetch. Thanks! -pd -- -------- Peter Davis Funny stuff at http://www.pfdstudio.com The artwork formerly shown as prints List of resources for children's writers and illustrators at: http://www.pfdstudio.com/cwrl.html _______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs