Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Learning Exercise

by fsn (Friar)
on Jul 18, 2002 at 14:59 UTC ( [id://182839]=note: print w/replies, xml ) Need Help??


in reply to Learning Exercise

You are doing a lot of opening and reading and closing and so on. Modern OSes have lots of diskcache, so it's not a problem, but it probably doesn't scale very well. Also, I personally find it hard to work with data that way.
I've always considered hashtables as the best thing since sliced bread. Hashtables were always hard to store on disk, but with the excellent DB_File module you can tie a hash to a diskstored db-database, and use it as if it were an in-memory hash table. No need to worry about the file format or loading-and-storeing the database. Just remember to untie it before you terminate the script.
And since it is a hash you can perform all the usual hashtabel operations, assigning, retrieving and deleteing (which solves your original problem). You can do foreach $key {sort keys %hash} and do a linear search if you want.

And then you can do hashes of different tied-in hashes, stored in different files. I find that a combination of perverse and convenient.

Replies are listed 'Best First'.
Re: Re: Learning Exercise
by Foncé (Scribe) on Jul 18, 2002 at 15:19 UTC
    Hmm...interesting thoughts. Sounds like a good idea, overall. I'm going to try to finish this programme as is, though (just for the sake of completion) and then work on a better one using the methods you described. People keep saying that hashes are the way to go here.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://182839]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2024-04-25 17:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found