in reply to Need help separating logic from display

Let me take a stab at assisting you.

I haven't used HTML::FillInForm, but I routinely use H::T, and never have a problem creating forms. Let's take the example of a select widget -- if its <option> values are going to be created programmatically, obviously it you will create an AoH in your code that you will then loop over in your template. You will always have some sort of markup that you might generate programmatically -- for example, I usually generate values for "oddrow" and "evenrow" CSS classes so I can color the rows in my tables with alternating light and dark colors. Or, I might generate values for the "checked" state of radio or checkbox fields so they are correctly checked or unchecked in the displayed form.

Bottomline -- Don't worry about removing all traces of markup from your code. Instead, worry about removing all traces of code from your markup. You don't have to achieve that 100%, but the more you achieve it the closer you are to a perfect state.

--

when small people start casting long shadows, it is time to go to bed