in reply to What's the best way to avoid name collisions when creating files?

How about creating one directory per day with sub-directories (File::Path) that reflect the structure of the information that you are trying to archive (mailbox name etc.). You should be able to add the e-mails to this structure with much less chance of collision (using File::Temp to make sure). When your daily archiving task finishes, the directory can be zipped (Archive::Zip) for long term storage.

Although, this isn't a substantial difference to the previous suggestions, the extra structure will benefit you in the long term. At some point, someone will want to retrieve an e-mail from the archive. Storing by date allows you to restrict the scope of the text searching that you do later.

  • Comment on Re: What's the best way to avoid name collisions when creating files?