Chris Nehren on 16 Nov 2011 10:12:06 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [Philadelphia-pm] Persistent data directory


On Nov 16, 2011, at 12:58, Mark Gardner wrote:

> On Nov 16, 2011, at 12:38 PM, Chris Nehren <c.nehren/phl@shadowcat.co.uk> wrote:
> 
>> On Nov 16, 2011, at 12:32, Kurt Starsinic wrote:
>> 
>>> On Wed, Nov 16, 2011 at 12:26 PM, Eric Roode <sdn.phlpm@mailnull.com> wrote:
>>>> I'm writing a new module, and it needs to store some data persistently
>>>> across invocations (basically a cache).  It is irrelevant whether this cache
>>>> is per-user or system-wide.
>>>> 
>>>> Is there any sort of reasonably standard place to store such data?  This
>>>> will be run on Windows, for what it's worth, but it'd be good to know what
>>>> locations are standard practice on other platforms, too.  Is there any sort
>>>> of existing module that encapsulates this, so I won't have to think about it
>>>> (like how File::Temp provides for temporary data storage)?  I couldn't find
>>>> any.
>>> One perlish way to do this would be to save the data, encoded with
>>> Storable or Data::Dumper, to a file.
>> 
>> Note that Storable (and to a lesser degree Data::Dumper) are serialization formats not readily readable by other tools/languages. Have you looked at the cache namespace on CPAN? Also consider CHI.
> 
> As for *where* to store things (the original question), one system-wide place is the distribution's share directory, enabled by modules like File::ShareDir and File::Share. Other options for portably finding places to write include File::HomeDir and File::ConfigDir.

Eek, sorry I misunderstood. I'll concur with Mark's suggestion of File::ShareDir or File::HomeDir--though as you're on Windows these options may not put things where you otherwise expect.

-- 
Thanks and best regards,
Chris Nehren
_______________________________________________
Philadelphia-pm mailing list
Philadelphia-pm@pm.org
http://mail.pm.org/mailman/listinfo/philadelphia-pm