> What do you think? Should I use the hack described above and collect > the data in latex(), or should I do it in validate(), and how should > I pass the files to Exporter::Export()?
However you think it should be done best. That said, I'm interested in how you see this all working in an ideal design. My picture of how this will work in the future is that we should separate the 'generation of the exported files' step from the 'export the latex to file' step. That way we'll be able to run all the conversion steps asynchronously and then receive a signal that all is ready to run the latex compiler. (Or not, so don't try etc.) I'm not suggesting that you do all this now. Hell no. But I am saying that creating a list of 'external files' is a good thing to do, both now and in the future. It seems to me that what you are describing is that Export should no longer be thought of as a simple '1 file' to '1 file' conversion process. Instead it is a 'many files' to, possibly, many files conversion process. That being the case, it might well end up easiest if you try and model what is really going on. Maybe something like this: class Conversion { string from_file; string to_file; Converter converter; }; class ExportProcess { // All these must be generated for the process // to be classed as a success. list<string> to_files; // A list of each, individual conversion process list<Conversion> converstion; }; Just some thoughts. -- Angus