Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Generating and storing regexp

by ELISHEVA (Prior)
on Feb 20, 2011 at 14:37 UTC ( #889184=note: print w/replies, xml ) Need Help??

in reply to Generating and storing regexp

What you are seeing is the normal string representation of a regular expression.

Since you want to load it back as a regular expression, a better way to meet your goal would be to dump the generated hash to a YAML string using YAML::Dump and store that string in a file. Then when you want to use the hash, retrieve the file contents in a string and pass it to YAML::Load - the hash will be restored exactly in the same state that you dumped it. YAML can handle dumping and reloading of regular expressions, hashes, blessed objects, network graphs, circular references and much more. By using YAML (rather than Storable which is binary), the dump file will also be portable across machines and human readable so you can eyeball it for a sanity check - see YAML.

However, I have to ask - why are you dumping this hash to a file rather than generating it on the fly when you need it and passing it to a subroutine when it comes time to apply to to some data?

Replies are listed 'Best First'.
Re^2: Generating and storing regexp
by noodleish (Novice) on Feb 20, 2011 at 15:30 UTC

    Thank you for your reply. YAML sounds really great I'll try it out immediately. I've written a daemon which uses the hash and since the generation of the hash is very heavy and some other factors (the generation is (probably) done on another server) I've chosen to split it them up, to make it more simpler and easier to check for errors.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://889184]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2017-03-01 20:45 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (429 votes). Check out past polls.