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