def METHOD_NAME(self):
    """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""
    prefix_opt = self.cfg.get('prefix_opt')
    # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
    # configure, build, test, install
    if os.path.exists('Makefile.PL'):
        if prefix_opt is None:
            prefix_opt = 'PREFIX'
        install_cmd = ' '.join([
            self.cfg['preconfigopts'],
            'perl',
            'Makefile.PL',
            '%s=%s' % (prefix_opt, self.installdir),
            self.cfg['configopts'],
        ])
        run_cmd(install_cmd)
        ConfigureMake.build_step(self)
        ConfigureMake.test_step(self)
        ConfigureMake.install_step(self)
    elif os.path.exists('Build.PL'):
        if prefix_opt is None:
            prefix_opt = '--prefix'
        install_cmd = ' '.join([
            self.cfg['preconfigopts'],
            'perl',
            'Build.PL',
            prefix_opt,
            self.installdir,
            self.cfg['configopts'],
        ])
        run_cmd(install_cmd)
        run_cmd("%s perl Build build %s" % (self.cfg['prebuildopts'], self.cfg['buildopts']))
        if self.cfg['runtest']:
            run_cmd('perl Build %s' % self.cfg['runtest'])
        run_cmd('%s perl Build install %s' % (self.cfg['preinstallopts'], self.cfg['installopts']))