Inversion of Control and Dependency Injection for Perl