a mvc (or something like that) in perl