Why not stick your regexen in a custom module? You're going to have to change code to centralize them anyway, and use Our::Custom::Regexen; looks to me like a lot less work than pulling them out of a database. In fact, the database solution might be enough work that you end up wrapping it in a custom module anyway. Source control on this module may not prevent the injection of broken code, but at least will let you figure out who did it.
Your example script could easily be converted into a test using the Perl testing infrastructure, however you choose to implement.