in reply to
Are state machines just for parsing?
They are also used for application state and workflow processes. I don't normally formally create an FSA but I could draw out a diagram if pressed to do so.
As for your problem, couldn't you just serialize your DFA::Simple object's state to storage between web requests? I imagine it would take a bit of custom work because you won't be able to just Storable::freeze() the object - it contains code references. That's easy to work around - just store the name of the function it is supposed to call and when rebuilding your object, reassociate the hard reference. You might also just give DFA::Simple the ability to call functions by name and avoid having code references at all.