If there is a large number of options for the user to choose and there is a need for dynamic change to the menus you could consider Excel. It would require VBA programming. But there is a great advantage to using it to prototype complex applications that are used internally. The Excel spreadsheet could submit a flat file to a network drive and Perl programs can then pick this up and the query could then be submitted via Stored Procedures or simple SQL statements. The great advantage of using excel like this is the level of complexity that can be quickly programmed by using cell references and Excel formula. This would not be the best approach for most applications off course but it works well with what I do.