Perl exam framework