Looking at your data structure @action_tab, it seems that you need the same properties for each test case. For such a tabular data structure, I would use an Excel sheet for maintenance and also to let others add more test cases (lines) to it. (Excel is on everybody's computer at my workplace anyway.) As there are good Perl modules to read Excel data it is rather easy to read the sheet (even if you yourself are on *nix), do some checks whether the entries look correct and then run your tests. Excel's filters and sorting also let people easily look for existing tests.