Short answer: Yes. Long answer: You can tie a Perl variable to anything provided you supply the necessary functions. You will have to figure out how you want that data structure to look on disk, which will involve turning references in data and back again. This will be a very large task, especially if you want to do it with any amount of efficiency. But if you do do then please release it as a module on CPAN.
On Fri, 2002-02-15 at 14:34, Balint, Jess wrote: > Would it be possible to use 'tie' to operate on a large complex data > structure from disk? > > -----Original Message----- > > Well, I think some file systems can't handle file bigger than two gig, > but I think that is the only limitation (I could be wrong, I don't use > dbm for much). > > On Thu, 2002-02-14 at 16:35, Balint, Jess wrote: > > Is there a dbm file size limit that I have to worry about? > > > > -----Original Message----- > > From: Chas Owens [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, February 14, 2002 4:30 PM > > To: Balint, Jess > > Subject: RE: Caching Large Data Structures To Disk > > > > > > You will have to first use eval to revive the string. Take a look at > > perldoc Data::Dumper. > > > > > > On Thu, 2002-02-14 at 16:06, Balint, Jess wrote: > > > If I store strings from data dumper, can I still pull stuff off like > > > retrieving values from an anonymous array stored in the hash while > having > > > the data stored on the disk? Or do I need to put the array in memory > > first? > > > I guess the underlying question is does perl operate on data structures > as > > > plain text? > > > > > > -----Original Message----- > > > From: Chas Owens [mailto:[EMAIL PROTECTED]] > > > Sent: Thursday, February 14, 2002 3:50 PM > > > To: Balint, Jess > > > Subject: RE: Caching Large Data Structures To Disk > > > > > > > > > It writes directly to the file. Big caveat: don't try to store > > > references in it. Only simple hashes work. Of course you could always > > > store Data::Dumper created strings as the values. > > > > > > On Thu, 2002-02-14 at 15:28, Balint, Jess wrote: > > > > Sounds like a plan. If I open a dbm file, and read and write to the > > hash, > > > > will it read and write to the dbm file directly, or will it store that > > > whole > > > > hash in memory until I tell it to write it back to the file? (sorry, > > dumb > > > > question) > > > > > > > > -----Original Message----- > > > > From: Chas Owens [mailto:[EMAIL PROTECTED]] > > > > Sent: Thursday, February 14, 2002 3:29 PM > > > > To: Balint, Jess > > > > Cc: '[EMAIL PROTECTED]' > > > > Subject: Re: Caching Large Data Structures To Disk > > > > > > > > > > > > > > > > Hashes can be stored in dbm files. Also you can use Data::Dumper to > > > > create a string that contains valid Perl syntax to create a give data > > > > structure. You can then write that string to a data file. When you > > > > need that data again you can read the file back into a string and eval > > > > it. See perldoc -f dbmopen, perldoc -f dbmclose, and perldoc > > > > Data::Dumper for more info. > > > > > > > > > > > > > > > > On Thu, 2002-02-14 at 15:10, Balint, Jess wrote: > > > > > Hello all. First off, I want to thank everybody on this list who has > > > > helped > > > > > me with with my previous questions. Thank you. > > > > > > > > > > I am working with input file of very large size. Sometimes up to and > > > > greater > > > > > than a gig of data. I have previously gotten out of memory errors > > > (people > > > > at > > > > > work don't like when I do this). I was wondering if there was a way > to > > > > cache > > > > > large data structures to disk. We have a program here called SAS > that > > > runs > > > > > on a Windows server (blek). Anyways, SAS allows me to operate on > > > unlimited > > > > > sizes of data, and always uses large temp files. Maybe there is a > > > > > Disk::Cache module or something that I can use to store my data on > > disk > > > > > instead of memory. I know it will be slower, but is something I am > > > willing > > > > > to deal with. TIA. > > > > > > > > > > --J-e-s-s-- > > > > > > > > > > -- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- > > > > Today is Setting Orange the 45th day of Chaos in the YOLD 3168 > > > > Kallisti! > > > > > > > > Missle Address: 33:48:3.521N 84:23:34.786W > > > -- > > > Today is Setting Orange the 45th day of Chaos in the YOLD 3168 > > > > > > > > > Missle Address: 33:48:3.521N 84:23:34.786W > > -- > > Today is Setting Orange the 45th day of Chaos in the YOLD 3168 > > All Hail Discordia! > > > > Missle Address: 33:48:3.521N 84:23:34.786W > -- > Today is Setting Orange the 45th day of Chaos in the YOLD 3168 > Frink! > > Missle Address: 33:48:3.521N 84:23:34.786W -- Today is Sweetmorn the 46th day of Chaos in the YOLD 3168 Pzat! Missle Address: 33:48:3.521N 84:23:34.786W -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]