Perl role based authenication module