in reply to
Perl OR ASP
I think its clear that you mean ASP.NET. ASP is its older brother and you should really avoid using ASP now.
ASP.NET is a platform rather than a language (well in my experience). Normally, sites for .NET are written in C#.
The normal design is based on using the "Page Controller" pattern as a basis. So you have a single template and a single class for that template. The two combine to form a page on your site. The class is a normal code and handles the logic for the page. Hence this is called 'code behind'.
Doing things like feedback, POSTS etc can be done between pages or to the same page. Irrespective, it is called a POSTBACK. The mechanism normally is to first send the info back to the page code which then determines what to do with it.
Finally, you will find that most ASP.NET pages (or ASPX pages) will be wrapped in one uber form tag to allow this mechanism. It isn't mandatory but watch out for it. Where it does exist it does create usability and accessibility issues (according to a fellow colleague).
ASP.NET also allows you to create request handlers and filters. If you work with these then you can overcome the constraints of the Page Controller mechanism but then you are left looking for an Open Source API or writing your own. A direct example of a competing product for this would be something based on Ruby on Rails.
Realistically, I would stick with Perl until your clients want to use ASP.NET and are willing to pay for it. Then test the hell out of it when its built.
PS: The overview of ASP.NET is very highlevel and simplified but I hope it serves.