Controlled Dynamic Polymorphism In Perl