http://qs321.pair.com?node_id=889184


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.